Part Number Hot Search : 
8E222 2SD15 M57704SL 89C52 3001RD 050VF R3710 GT5J311
Product Description
Full Text Search
 

To Download CY7C67300-100AI Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 CY7C67300
EZ-HostTM Programmable Embedded USB Host/Peripheral Controller
Cypress Semiconductor Corporation Document #: 38-08015 Rev. *E
*
3901 North First Street
*
San Jose, CA 95134 * 408-943-2600 Revised September 16, 2003
CY7C67300
TABLE OF CONTENTS 1.0 INTRODUCTION ............................................................................................................................ 10 1.1 EZ-Host Features ...................................................................................................................... 10 2.0 TYPICAL APPLICATIONS ............................................................................................................. 11 3.0 FUNCTIONAL OVERVIEW ............................................................................................................ 11 3.1 Processor Core ......................................................................................................................... 11
3.1.1 Processor ........................................................................................................................................ 11 3.1.2 Clocking .......................................................................................................................................... 11 3.1.3 Memory ........................................................................................................................................... 11 3.1.4 Interrupts ......................................................................................................................................... 11 3.1.5 General Timers and Watchdog Timer ............................................................................................. 11 3.1.6 Power Management ........................................................................................................................ 11
4.0 INTERFACE DESCRIPTIONS ....................................................................................................... 11 4.1 USB Interface ............................................................................................................................ 13
4.1.1 USB Features .................................................................................................................................. 13 4.1.2 USB Pins. ........................................................................................................................................ 14
4.2 OTG Interface ........................................................................................................................... 14
4.2.1 OTG Features ................................................................................................................................. 14 4.2.2 OTG Pins. ....................................................................................................................................... 14
4.3 External Memory Interface ........................................................................................................ 14
4.3.1 External Memory Interface Features ............................................................................................... 14 4.3.2 External Memory Access Strobes ................................................................................................... 14 4.3.3 Page Registers ................................................................................................................................ 15 4.3.4 Merge Mode .................................................................................................................................... 15 4.3.5 Program Memory Hole Description ................................................................................................. 15 4.3.6 DMA to External Memory Prohibited ............................................................................................... 15 4.3.7 External Memory Interface Pins ...................................................................................................... 16 4.3.8 External Memory Interface Block Diagrams .................................................................................... 17
4.4 General Purpose I/O Interface (GPIO) ......................................................................................18
4.4.1 GPIO Description ............................................................................................................................ 18 4.4.2 Unused Pin Descriptions ................................................................................................................. 18
4.5 UART Interface ......................................................................................................................... 18
4.5.1 UART Features ............................................................................................................................... 18 4.5.2 UART Pins. ..................................................................................................................................... 18
4.6 I2C EEPROM Interface ............................................................................................................. 18
4.6.1 I2C EEPROM Features ................................................................................................................... 18 4.6.2 I2C EEPROM Pins. ......................................................................................................................... 18
4.7 Serial Peripheral Interface ........................................................................................................ 18
4.7.1 SPI Features ................................................................................................................................... 19 4.7.2 SPI Pins .......................................................................................................................................... 19
4.8 High-speed Serial Interface ...................................................................................................... 19
4.8.1 HSS Features .................................................................................................................................. 19 4.8.2 HSS Pins ......................................................................................................................................... 20
4.9 Programmable Pulse/PWM Interface ........................................................................................ 20
4.9.1 Programmable Pulse/PWM Features .............................................................................................. 20 4.9.2 Programmable Pulse/PWM Pins. .................................................................................................... 20
4.10 Host Port Interface .................................................................................................................. 20
4.10.1 HPI Features ................................................................................................................................. 20 4.10.2 HPI Pins. ....................................................................................................................................... 21
Document #: 38-08015 Rev. *E
Page 2 of 119
CY7C67300
TABLE OF CONTENTS (continued) 4.11 IDE Interface ........................................................................................................................... 21
4.11.1 IDE Features ................................................................................................................................. 22 4.11.2 IDE Pins ........................................................................................................................................ 22
4.12 Charge Pump Interface ........................................................................................................... 22
4.12.1 Charge Pump Features ................................................................................................................. 23 4.12.2 Charge Pump Pins. ....................................................................................................................... 23
4.13 Booster Interface ..................................................................................................................... 23
4.13.1 Booster Pins. ................................................................................................................................. 24
4.14 Crystal Interface ...................................................................................................................... 25
4.14.1 Crystal Pins ................................................................................................................................... 25
4.15 Boot Configuration Interface ................................................................................................... 25 4.16 Operational Modes .................................................................................................................. 26
4.16.1 Coprocessor Mode ........................................................................................................................ 26 4.16.2 Standalone Mode .......................................................................................................................... 26
5.0 POWER-SAVINGS AND RESET DESCRIPTION ......................................................................... 27 5.1 Power-Savings Mode Description ............................................................................................. 27 5.2 Sleep ......................................................................................................................................... 27 5.3 External (Remote) wakeup Source ...........................................................................................27 5.4 Power-On-Reset Description .................................................................................................... 27 5.5 Reset Pin .................................................................................................................................. 27 5.6 USB Reset ................................................................................................................................ 27 6.0 MEMORY MAP ............................................................................................................................... 28 6.1 Mapping .................................................................................................................................... 28
6.1.1 Internal Memory .............................................................................................................................. 28 6.1.2 External Memory ............................................................................................................................. 28
7.0 REGISTERS ................................................................................................................................... 30 7.1 Processor Control Registers ..................................................................................................... 30
7.1.1 CPU Flags Register [0xC000] [R] ................................................................................................. 30 7.1.2 Bank Register [0xC002] [R/W] ...................................................................................................... 31 7.1.3 Hardware Revision Register [0xC004] [R] .................................................................................... 31 7.1.4 CPU Speed Register [0xC008] [R/W] ........................................................................................... 32 7.1.5 Power Control Register [0xC00A] [R/W] ....................................................................................... 33 7.1.6 Interrupt Enable Register [0xC00E] [R/W] .................................................................................... 35 7.1.7 Breakpoint Register [0xC014] [R/W] ............................................................................................. 36 7.1.8 USB Diagnostic Register [0xC03C] [R/W] ..................................................................................... 37 7.1.9 Memory Diagnostic Register [0xC03E] [W] ................................................................................... 38
7.2 External Memory Registers ....................................................................................................... 39
7.2.1 Extended Page n Map Register [R/W] ............................................................................................ 39 7.2.2 Upper Address Enable Register [0xC038] [R/W] ..........................................................................39 7.2.3 External Memory Control Register [0xC03A] [R/W] ...................................................................... 40
7.3 Timer Registers ......................................................................................................................... 41
7.3.1 Watchdog Timer Register [0xC00C] [R/W] ................................................................................... 41 7.3.2 Timer n Register [R/W] .................................................................................................................... 42
7.4 General USB Registers ............................................................................................................. 42
7.4.1 USB n Control Register [R/W] ......................................................................................................... 42
7.5 USB Host Only Registers .......................................................................................................... 45
7.5.1 Host n Control Register [R/W] ......................................................................................................... 45 7.5.2 Host n Address Register [R/W] ....................................................................................................... 46
Document #: 38-08015 Rev. *E Page 3 of 119
CY7C67300
TABLE OF CONTENTS (continued)
7.5.3 Host n Count Register [R/W] ........................................................................................................... 46 7.5.4 Host n Endpoint Status Register [R] ............................................................................................... 47 7.5.5 Host n PID Register [W] .................................................................................................................. 48 7.5.6 Host n Count Result Register [R] .................................................................................................... 49 7.5.7 Host n Device Address Register [W] ............................................................................................... 50 7.5.8 Host n Interrupt Enable Register [R/W] ........................................................................................... 50 7.5.9 Host n Status Register [R/W] .......................................................................................................... 52 7.5.10 Host n SOF/EOP Count Register [R/W] ........................................................................................ 53 7.5.11 Host n SOF/EOP Counter Register [R] ......................................................................................... 53 7.5.12 Host n Frame Register [R] ............................................................................................................ 54
7.6 USB Device Only Registers ...................................................................................................... 54
7.6.1 Device n Endpoint n Control Register [R/W] ................................................................................... 55 7.6.2 Device n Endpoint n Address Register [R/W] ................................................................................. 56 7.6.3 Device n Endpoint n Count Register [R/W] ..................................................................................... 57 7.6.4 Device n Endpoint n Status Register [R/W] .................................................................................... 57 7.6.5 Device n Endpoint n Count Result Register [R/W] .......................................................................... 59 7.6.6 Device n Port Select Register [R/W] ............................................................................................... 60 7.6.7 Device n Interrupt Enable Register [R/W] ....................................................................................... 60 7.6.8 Device n Address Register [W] ....................................................................................................... 63 7.6.9 Device n Status Register [R/W] ....................................................................................................... 63 7.6.10 Device n Frame Number Register [R] ........................................................................................... 65 7.6.11 Device n SOF/EOP Count Register [W] ........................................................................................ 66
7.7 OTG Control Registers ............................................................................................................. 66
7.7.1 OTG Control Register [0xC098] [R/W] .......................................................................................... 66
7.8 GPIO Registers ......................................................................................................................... 68
7.8.1 GPIO Control Register [0xC006] [R/W] ......................................................................................... 68 7.8.2 GPIO n Output Data Register [R/W] ............................................................................................... 70 7.8.3 GPIO n Input Data Register [R] ....................................................................................................... 70 7.8.4 GPIO n Direction Register [R/W] ..................................................................................................... 71
7.9 IDE Registers ............................................................................................................................ 71
7.9.1 IDE Mode Register [0xC048] [R/W] .............................................................................................. 71 7.9.2 IDE Start Address Register [0xC04A] [R/W] ................................................................................. 72 7.9.3 IDE Stop Address Register [0xC04C] [R/W] ................................................................................. 72 7.9.4 IDE Control Register [0xC04E] [R/W] ........................................................................................... 73 7.9.5 IDE PIO Port Registers [0xC050 - 0xC06F] [R/W] ..........................................................................74
7.10 HSS Registers ........................................................................................................................ 74
7.10.1 HSS Control Register [0xC070] [R/W] ........................................................................................ 75 7.10.2 HSS Baud Rate Register [0xC072] [R/W] ................................................................................... 77 7.10.3 HSS Transmit Gap Register [0xC074] [R/W] .............................................................................. 77 7.10.4 HSS Data Register [0xC076] [R/W] ............................................................................................ 78 7.10.5 HSS Receive Address Register [0xC078] [R/W] ......................................................................... 78 7.10.6 HSS Receive Counter Register [0xC07A] [R/W] ......................................................................... 79 7.10.7 HSS Transmit Address Register [0xC07C] [R/W] ....................................................................... 79 7.10.8 HSS Transmit Counter Register [0xC07E] [R/W] ........................................................................ 79
7.11 HPI Registers .......................................................................................................................... 80
7.11.1 HPI Breakpoint Register [0x0140] [R] ......................................................................................... 80 7.11.2 Interrupt Routing Register [0x0142] [R] ....................................................................................... 81 7.11.3 SIEXmsg Register [W] .................................................................................................................. 82 7.11.4 HPI Mailbox Register [0xC0C6] [R/W] ........................................................................................ 83 7.11.5 HPI Status Port [] [HPI: R] ........................................................................................................... 83
Document #: 38-08015 Rev. *E
Page 4 of 119
CY7C67300
TABLE OF CONTENTS (continued) 7.12 SPI Registers .......................................................................................................................... 85
7.12.1 SPI Configuration Register [0xC0C8] [R/W] ................................................................................ 86 7.12.2 SPI Control Register [0xC0CA] [R/W] ......................................................................................... 87 7.12.3 SPI Interrupt Enable Register [0xC0CC] [R/W] ........................................................................... 89 7.12.4 SPI Status Register [0xC0CE] [R] ............................................................................................... 89 7.12.5 SPI Interrupt Clear Register [0xC0D0] [W] .................................................................................... 90 7.12.6 SPI CRC Control Register [0xC0D2] [R/W] ................................................................................. 91 7.12.7 SPI CRC Value Register [0xC0D4] [R/W] ................................................................................... 92 7.12.8 SPI Data Register [0xC0D6] [R/W] ............................................................................................... 92 7.12.9 SPI Transmit Address Register [0xC0D8] [R/W] ...........................................................................93 7.12.10 SPI Transmit Count Register [0xC0DA] [R/W] ............................................................................93 7.12.11 SPI Receive Address Register [0xC0DC [R/W] .......................................................................... 93 7.12.12 SPI Receive Count Register [0xC0DE] [R/W] .............................................................................94
7.13 UART Registers ...................................................................................................................... 94
7.13.1 UART Control Register [0xC0E0] [R/W] ........................................................................................ 94 7.13.2 UART Status Register [0xC0E2] [R] ........................................................................................... 95 7.13.3 UART Data Register [0xC0E4] [R/W] ............................................................................................ 96
7.14 PWM Registers ....................................................................................................................... 96
7.14.1 PWM Control Register [0xC0E6] [R/W] ......................................................................................... 97 7.14.2 PWM Maximum Count Register [0xC0E8] [R/W] .......................................................................... 98 7.14.3 PWM n Start Register [R/W] ......................................................................................................... 99 7.14.4 PWM n Stop Register [R/W] .......................................................................................................... 99 7.14.5 PWM Cycle Count Register [0xC0FA] [R/W] .............................................................................. 100
8.0 PIN DIAGRAM .............................................................................................................................. 101 9.0 PIN DESCRIPTIONS .................................................................................................................... 101 10.0 ABSOLUTE MAXIMUM RATINGS ............................................................................................ 105 11.0 OPERATING CONDITIONS ....................................................................................................... 105 12.0 CRYSTAL REQUIREMENTS (XTALIN, XTALOUT) ................................................................. 105 13.0 DC CHARACTERISTICS ......................................................................................................... 105 13.1 USB Transceiver ................................................................................................................... 106 14.0 AC TIMING CHARACTERISTICS .............................................................................................. 107 14.1 Reset Timing ......................................................................................................................... 107 14.2 Clock Timing ......................................................................................................................... 107 14.3 SRAM Read Cycle ................................................................................................................ 108 14.4 SRAM Write Cycle ................................................................................................................ 109 14.5 I2C EEPROM Timing ............................................................................................................ 110 14.6 HPI (Host Port Interface) Write Cycle Timing ....................................................................... 111 14.7 HPI (Host Port Interface) Read Cycle Timing ....................................................................... 112 14.8 IDE Timing ............................................................................................................................ 113 14.9 HSS BYTE Mode Transmit ...................................................................................................113 14.10 HSS Block Mode Transmit .................................................................................................. 113 14.11 HSS BYTE and BLOCK Mode Receive .............................................................................. 113 14.12 Hardware CTS/RTS Handshake ......................................................................................... 114 15.0 REGISTERS SUMMARY ........................................................................................................... 114 16.0 ORDERING INFORMATION ...................................................................................................... 118 17.0 PACKAGE DIAGRAMS ............................................................................................................. 118
Document #: 38-08015 Rev. *E Page 5 of 119
CY7C67300
LIST OF FIGURES Figure 1-1. Block Diagram ..................................................................................................................... 10 Figure 4-1. Page n Registers External Address Pins Logic................................................................... 15 Figure 4-2. Interfacing to 64k x 8 Memory Array ................................................................................... 17 Figure 4-3. Interfacing up to 256k x 16 for External Code/Data ............................................................ 17 Figure 4-4. Interfacing up to 512k x 8 for External Code/Data .............................................................. 17 Figure 4-5. Charge Pump ...................................................................................................................... 23 Figure 4-6. Power Supply Connection With Booster ............................................................................. 24 Figure 4-7. Power Supply Connection Without Booster ........................................................................ 24 Figure 4-8. Crystal Interface .................................................................................................................. 25 Figure 4-9. Minimum Standalone Hardware Configuration - Peripheral Only ....................................... 26 Figure 6-1. Memory Map ....................................................................................................................... 29 Figure 7-1. Processor Control Registers ............................................................................................... 30 Figure 7-2. CPU Flags Register............................................................................................................. 30 Figure 7-3. Bank Register...................................................................................................................... 31 Figure 7-4. Revision Register ................................................................................................................ 31 Figure 7-5. CPU Speed Register ........................................................................................................... 32 Figure 7-6. Power Control Register ....................................................................................................... 33 Figure 7-7. Interrupt Enable Register .................................................................................................... 35 Figure 7-8. Breakpoint Register............................................................................................................. 36 Figure 7-9. USB Diagnostic Register..................................................................................................... 37 Figure 7-10. Memory Diagnostic Register ............................................................................................. 38 Figure 7-11. External Memory Control Registers .................................................................................. 39 Figure 7-12. Extended Page n Map Register ........................................................................................ 39 Figure 7-13. External Memory Control Register .................................................................................... 39 Figure 7-14. External Memory Control Register .................................................................................... 40 Figure 7-15. Timer Registers ................................................................................................................. 41 Figure 7-16. Watchdog Timer Register.................................................................................................. 41 Figure 7-17. Timer n Register................................................................................................................ 42 Figure 7-18. General USB Registers ..................................................................................................... 42 Figure 7-19. USB n Control Register ..................................................................................................... 43 Figure 7-20. USB Host Only Register.................................................................................................... 45 Figure 7-21. Host n Control Register ..................................................................................................... 45 Figure 7-22. Host n Address Register ................................................................................................... 46 Figure 7-23. Host n Count Register ....................................................................................................... 46 Figure 7-24. Host n Endpoint Status Register ....................................................................................... 47 Figure 7-25. Host n PID Register........................................................................................................... 49 Figure 7-26. Host n Count Result Register............................................................................................ 49 Figure 7-27. Host n Device Address Register ....................................................................................... 50 Figure 7-28. Host n Interrupt Enable Register ....................................................................................... 50 Figure 7-29. Host n Status Register ...................................................................................................... 52 Figure 7-30. Host n SOF/EOP Count Register ...................................................................................... 53 Figure 7-31. Host n SOF/EOP Counter Register................................................................................... 54 Figure 7-32. Host n Frame Register ...................................................................................................... 54 Figure 7-33. USB Device Only Registers .............................................................................................. 55 Figure 7-34. Device n Endpoint n Control Register ............................................................................... 55 Figure 7-35. Device n Endpoint n Address Register.............................................................................. 57 Figure 7-36. Device n Endpoint n Count Register ................................................................................. 57 Figure 7-37. Device n Endpoint n Status Register................................................................................. 58 Figure 7-38. Device n Endpoint n Count Result Register ...................................................................... 60
Document #: 38-08015 Rev. *E Page 6 of 119
CY7C67300
LIST OF FIGURES (continued) Figure 7-39. Device n Port Select Register ........................................................................................... 60 Figure 7-40. Device n Interrupt Enable Register ................................................................................... 61 Figure 7-41. Device n Address Register................................................................................................ 63 Figure 7-42. Device n Status Register................................................................................................... 63 Figure 7-43. Device n Frame Number Register..................................................................................... 65 Figure 7-44. Device n SOF/EOP Count Register .................................................................................. 66 Figure 7-45. OTG Registers .................................................................................................................. 66 Figure 7-46. OTG Control Register........................................................................................................ 66 Figure 7-47. GPIO Registers ................................................................................................................. 68 Figure 7-48. GPIO Control Register ...................................................................................................... 68 Figure 7-49. GPIO n Output Data Register............................................................................................ 70 Figure 7-50. GPIO n Input Data Register .............................................................................................. 70 Figure 7-51. GPIO n Direction Register................................................................................................. 71 Figure 7-52. IDE Registers .................................................................................................................... 71 Figure 7-53. IDE Mode Register ............................................................................................................ 71 Figure 7-54. IDE Start Address Register ............................................................................................... 72 Figure 7-55. IDE Stop Address Register ............................................................................................... 72 Figure 7-56. IDE Control Register ......................................................................................................... 73 Figure 7-57. HSS Registers................................................................................................................... 74 Figure 7-58. HSS Control Register ........................................................................................................ 75 Figure 7-59. HSS Baud Rate Register................................................................................................... 77 Figure 7-60. HSS Transmit Gap Register.............................................................................................. 77 Figure 7-61. HSS Data Register ............................................................................................................ 78 Figure 7-62. HSS Receive Address Register ........................................................................................ 78 Figure 7-63. HSS Receive Counter Register......................................................................................... 79 Figure 7-64. HSS Transmit Address Register ....................................................................................... 79 Figure 7-65. HSS Transmit Counter Register........................................................................................ 79 Figure 7-66. HPI Registers .................................................................................................................... 80 Figure 7-67. HPI Breakpoint Register.................................................................................................... 80 Figure 7-68. Interrupt Routing Register ................................................................................................. 81 Figure 7-69. SIEXmsg Register ............................................................................................................. 82 Figure 7-70. HPI Mailbox Register......................................................................................................... 83 Figure 7-71. HPI Status Port.................................................................................................................. 83 Figure 7-72. SPI Registers .................................................................................................................... 85 Figure 7-73. SPI Configuration Register................................................................................................ 86 Figure 7-74. SPI Control Register.......................................................................................................... 87 Figure 7-75. SPI Interrupt Enable Register............................................................................................ 89 Figure 7-76. SPI Status Register ........................................................................................................... 89 Figure 7-77. SPI Interrupt Clear Register .............................................................................................. 90 Figure 7-78. SPI CRC Control Register................................................................................................. 91 Figure 7-79. SPI CRC Value Register ................................................................................................... 92 Figure 7-80. SPI Data Register.............................................................................................................. 92 Figure 7-81. SPI Transmit Address Register ......................................................................................... 93 Figure 7-82. SPI Transmit Count Register............................................................................................. 93 Figure 7-83. SPI Receive Address Register .......................................................................................... 93 Figure 7-84. SPI Receive Count Register.............................................................................................. 94 Figure 7-85. UART Registers ................................................................................................................ 94 Figure 7-86. UART Control Register...................................................................................................... 94 Figure 7-87. UART Status Register ....................................................................................................... 95
Document #: 38-08015 Rev. *E Page 7 of 119
CY7C67300
LIST OF FIGURES (continued) Figure 7-88. UART Data Register.......................................................................................................... 96 Figure 7-89. PWM Registers ................................................................................................................. 96 Figure 7-90. PWM Control Register....................................................................................................... 97 Figure 7-91. PWM Maximum Count Register ........................................................................................ 98 Figure 7-92. PWM n Start Register........................................................................................................ 99 Figure 7-93. PWM n Stop Register........................................................................................................ 99 Figure 7-94. PWM Cycle Count Register............................................................................................. 100 Figure 8-1. EZ-Host Pin Diagram ........................................................................................................ 101
Document #: 38-08015 Rev. *E
Page 8 of 119
CY7C67300
LIST OF TABLES Table 4-1. Interface Options for GPIO Pins .......................................................................................... 12 Table 4-2. Interface Options for External Memory Bus Pins ................................................................. 12 Table 4-3. USB Port Configuration Options .......................................................................................... 13 Table 4-4. USB Interface Pins .............................................................................................................. 14 Table 4-5. OTG Interface Pins .............................................................................................................. 14 Table 4-6. External Memory Interface Pins .......................................................................................... 16 Table 4-7. UART Interface Pins ............................................................................................................ 18 Table 4-8. I2C EEPROM Interface Pins ............................................................................................... 18 Table 4-9. SPI Interface Pins ................................................................................................................ 19 Table 4-10. HSS Interface Pins ............................................................................................................ 20 Table 4-11. PWM Interface Pins ........................................................................................................... 20 Table 4-12. HPI Interface Pins .............................................................................................................. 21 Table 4-13. HPI Addressing .................................................................................................................. 21 Table 4-14. IDE Throughput ................................................................................................................. 22 Table 4-15. IDE Interface Pins .............................................................................................................. 22 Table 4-16. Charge Pump Interface Pins ............................................................................................. 23 Table 4-17. Charge Pump Interface Pins ............................................................................................. 24 Table 4-18. Crystal Pins ....................................................................................................................... 25 Table 4-19. Boot Configuration Interface .............................................................................................. 25 Table 5-1. Wakeup Sources ................................................................................................................. 27 Table 7-1. Bank Register Example ....................................................................................................... 31 Table 7-2. CPU Speed Definition .......................................................................................................... 32 Table 7-3. Force Select Definition ........................................................................................................ 38 Table 7-4. Memory Arbitration Select ................................................................................................... 38 Table 7-5. Period Select Definition ....................................................................................................... 41 Table 7-6. USB Data Line Pull-up and Pull-down Resistors ................................................................. 44 Table 7-7. Port A/B Force D State ...................................................................................................... 44 Table 7-8. Port Select Definition ........................................................................................................... 47 Table 7-9. PID Select Definition ............................................................................................................ 49 Table 7-10. Mode Select Definition ....................................................................................................... 69 Table 7-11. Mode Select Definition ....................................................................................................... 72 Table 7-12. IDE PIO Port Registers ...................................................................................................... 74 Table 7-13. Scale Select Field Definition for SCK Frequency .............................................................. 86 Table 7-14. CRC Mode Definition ......................................................................................................... 91 Table 7-15. UART Baud Select Definition ............................................................................................ 95 Table 7-16. Prescaler Select Definition ................................................................................................ 97 Table 9-1. Pin Descriptions ................................................................................................................. 101 Table 12-1. Crystal Requirements ...................................................................................................... 105 Table 13-1. DC Characteristics ........................................................................................................... 105 Table 13-2. DC Characteristics: Charge Pump .................................................................................. 106 Table 15-1. Register Summary ........................................................................................................... 114 Table 16-1. Ordering Information ........................................................................................................ 118
Document #: 38-08015 Rev. *E
Page 9 of 119
CY7C67300
1.0 INTRODUCTION
EZ-HostTM (CY7C67300) is Cypress Semiconductor's first full-speed, low-cost multiport host/peripheral controller. EZ-Host is designed to easily interface to most high-performance CPUs to add USB host functionality. EZ-Host has its own 16-bit RISC processor to act as a coprocessor or operate in standalone mode. EZ-Host also has a programmable I/O interface block allowing a wide range of interface options.
CY7C67300
nRESET
Control
Timer 0
Timer 1 UART I/F I2C EEPROM I/F
CY16 16-bit RISC CORE
Vbus, ID OTG D+,DUSB-A
HSS I/F PWM SPI I/F IDE I/F
SHARED INPUT/OUTPUT PINS
Watchdog
GPIO [31:0]
SIE1
Host/ Peripheral USB Ports D+,DUSB-B
D+,D-
USB-A
SIE2
D+,DUSB-B
4Kx16 ROM BIOS
8Kx16 RAM
HPI I/F GPIO
X1 X2
PLL
Mobile Power Booster
External MEM I/F (SRAM/ROM)
SHARED INPUT/OUTPUT PINS
A[15:0] D[15:0]
CTRL[9:0]
Figure 1-1. Block Diagram
1.1
EZ-Host Features
* Single-chip programmable USB dual-role (Host/Peripheral) controller with two configurable Serial Interface Engines (SIEs) and four USB ports * Support for USB On-The-Go (OTG) protocol * On-chip 48-MHz 16-bit processor with dynamically switchable clock speed * Configurable I/O block supporting a variety of I/O options or up to 32 bits of General Purpose I/O (GPIO) * 4K x 16 internal masked ROM containing built-in BIOS that supports a communication ready state with access to I2C EEPROM Interface, external ROM, UART, or USB * 8K x 16 internal RAM for code and data buffering * Extended memory interface port for external SRAM and ROM * 16-bit parallel Host Port Interface (HPI) with a DMA/Mailbox data path for an external processor to directly access all of the on-chip memory and control on-chip SIEs * Fast serial port supports from 9600 baud to 2.0 Mbaud * SPI support in both master and slave * On-chip 16-bit DMA/Mailbox data path interface * Supports 12-MHz external crystal or clock * 3.3V operation * Package option -- 100-pin TQFP
Document #: 38-08015 Rev. *E
Page 10 of 119
CY7C67300
2.0 Typical Applications
EZ-Host is a very powerful and flexible dual role USB controller that supports a wide variety of applications. It is primarily intended to enable host capability in applications such as: * Set-top boxes * Printers * KVM switches * Kiosks * Automotive applications * Wireless access points.
3.0
3.1
3.1.1
Functional Overview
Processor Core
Processor
EZ-Host has a general-purpose 16-bit embedded RISC processor that runs at 48 MHz. 3.1.2 Clocking
EZ-Host requires a 12-MHz source for clocking. Either an external crystal or TTL level oscillator may be used. EZ-Host has an internal PLL that produces a 48-MHz internal clock from the 12-MHz source. 3.1.3 Memory
EZ-Host has a built-in 4K x 16 masked ROM and an 8K x 16 internal RAM. The masked ROM contains the EZ-Host BIOS. The internal RAM can be used for program code or data. 3.1.4 Interrupts
EZ-Host provides 128 interrupt vectors. The first 48 vectors are hardware interrupts and the following 80 vectors are software interrupts. 3.1.5 General Timers and Watchdog Timer
EZ-Host has two built-in programmable timers and a Watchdog timer. All three timers can generate an interrupt to the EZ-Host. 3.1.6 Power Management
EZ-Host has one main power saving mode, Sleep. Sleep mode pauses all operations and provides the lowest power state.
4.0
Interface Descriptions
EZ-Host has a wide variety of interface options for connectivity. With several interface options available, EZ-Host can act as a seamless data transport between many different types of devices. See Table 4-1 and Table 4-2 to understand how the interfaces share pins and which can coexist. It should be noted that some interfaces have more then one possible port location selectable through the GPIO Control Register [0xC006]. Below are some general guidelines: * HPI and IDE interfaces are mutually exclusive. * If 16-bit external memory is required, then HSS and SPI default locations must be used. * I2C EEPROM and OTG do not conflict with any interfaces.
Document #: 38-08015 Rev. *E
Page 11 of 119
CY7C67300
Table 4-1. Interface Options for GPIO Pins GPIO Pins GPIO31 GPIO30 GPIO29 GPIO28 GPIO27 GPIO26 GPIO25 GPIO24 GPIO23 GPIO22 GPIO21 GPIO20 GPIO19 GPIO18 GPIO17 GPIO16 GPIO15 GPIO14 GPIO13 GPIO12 GPIO11 GPIO10 GPIO9 GPIO8 GPIO7 GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 HPI IDE PWM HSS SPI UART I2C SCL/SDA SCL/SDA OTG
OTGID TX[1] RX[1]
PWM3 INT nRD nWR nCS A1 A0 IOREADY IOR IOW CS1 CS0 A2 A1 A0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
CTS[1]
PWM2 PWM1 PWM0
RTS[1] RXD[1] TXD[1]
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
MOSI[1] SCK[1] nSSI[1] MISO[1]
TX[2] RX[2]
Table 4-2. Interface Options for External Memory Bus Pins MEM Pins D15 D14 D13 D12 D11 D10 D9 D8 D[7:0] A[18:0] CONTROL HPI IDE PWM HSS CTS[2] RTS[2] RXD[2] TXD[2] SPI UART I2C OTG
MOSI[2] SCK[2] nSSI[2] MISO[2]
Notes: 1. Default interface location. 2. Alternate interface location.
Document #: 38-08015 Rev. *E
Page 12 of 119
CY7C67300
4.1 USB Interface
EZ-Host has two built-in Host/Peripheral SIEs and four USB transceivers that meet the USB 2.0 specification requirements for full and low speed (high speed is not supported). In Host mode, EZ-Host supports four downstream ports, each support control, interrupt, bulk, and isochronous transfers. In Peripheral mode, EZ-Host supports one peripheral port with eight endpoints for each of the two SIEs. Endpoint 0 is dedicated as the control endpoint and only supports control transfers. Endpoints 1 though 7 support Interrupt, Bulk (up to 64 Bytes/packet), or Isochronous transfers (up to 1023 Bytes/packet size). EZ-Host also supports a combination of Host and Peripheral ports simultaneously as shown in Table 4-3. Table 4-3. USB Port Configuration Options Port Configurations OTG OTG + 2 Hosts OTG + 1 Host OTG + 1 Host OTG + 1 Peripheral OTG + 1 Peripheral 4 Hosts 3 Hosts 2 Hosts 1 Host 2 Hosts + 1 Peripheral 2 Hosts + 1 Peripheral 2 Hosts + 1 Peripheral 2 Hosts + 1 Peripheral 1 Host + 1 Peripheral 1 Host + 1 Peripheral 1 Host + 1 Peripheral 1 Host + 1 Peripheral 1 Host + 1 Peripheral 1 Host + 1 Peripheral 1 Host + 1 Peripheral 1 Host + 1 Peripheral 2 Peripherals 2 Peripherals 2 Peripherals 2 Peripherals 1 Peripheral Host Host Peripheral - Host Host - - Peripheral Peripheral - - Peripheral Peripheral - - Host Host - Peripheral - - Host Host - - Peripheral Peripheral - - Peripheral Peripheral Any Port Port 1A OTG OTG OTG OTG OTG OTG Host Port 1B - - - - - - Host Port 2A - Host Host - Peripheral - Host Port 2B - Host - Host - Peripheral Host
Any Combination of Ports Any Combination of Ports Any Port Peripheral - Host Host Peripheral - - Peripheral Host - - Host Peripheral - - Peripheral - Peripheral Host Host - Peripheral Peripheral - - Host Host - - Peripheral Peripheral -
4.1.1 USB Features * USB 2.0-compliant for full and low speed * Up to four downstream USB host ports * Up to two upstream USB peripheral ports * Configurable endpoint buffers (pointer and length), must reside in internal RAM * Up to eight available peripheral endpoints (one control endpoint) * Supports Control, Interrupt, Bulk, and Isochronous transfers * Internal DMA channels for each endpoint * Internal pull-up and pull-down resistors * Internal Series termination resistors on USB data lines
Document #: 38-08015 Rev. *E
Page 13 of 119
CY7C67300
4.1.2 USB Pins.
Table 4-4. USB Interface Pins Pin Name DM1A DP1A DM1B DP1B DM2A DP2A DM2B DP2B Pin Number 22 23 18 19 9 10 4 5
4.2
OTG Interface
EZ-Host has one USB port that is compatible with the USB On-The-Go supplement to the USB 2.0 specification. The USB OTG port has a various hardware features to support Session Request Protocol (SRP) and Host Negotiation Protocol (HNP). OTG is only supported on USB PORT 1A. 4.2.1 OTG Features * Internal Charge Pump to supply and control VBUS * VBUS Valid Status (above 4.4V) * VBUS Status for 2.4V< VBUS <0.8V * ID Pin Status * Switchable 2K internal discharge resistor on VBUS * Switchable 500 internal Pull-up resistor on VBUS * Individually switchable internal Pull-up and Pull-down resistors on the USB Data Lines 4.2.2 OTG Pins.
Table 4-5. OTG Interface Pins Pin Name DM1A DP1A OTGVBUS OTGID CSwitchA CSwitchB Pin Number 22 23 11 41 13 12
4.3
External Memory Interface
EZ-Host provides a robust interface to a wide variety of external memory arrays. All available external memory array locations can contain either code or data. The CY16 RISC processor directly addresses a flat memory space from 0x0000 to 0xFFFF. 4.3.1 External Memory Interface Features * Supports 8-bit or 16-bit SRAM or ROM * SRAM or ROM can be used for code or data space * Direct addressing of SRAM or ROM * Two external memory mapped page registers 4.3.2 External Memory Access Strobes
Access to external memory is sampled asynchronously on the rising edge of strobes with a minimum of one wait state cycle. Up to seven wait state cycles may be inserted for external memory access. Each additional wait state cycle stretches the external memory access time by 21 nsec. An external memory device with 12-nsec access time is necessary to support 48-MHz code execution. Document #: 38-08015 Rev. *E Page 14 of 119
CY7C67300
4.3.3 Page Registers EZ-Host allows extended data or program code to be stored in external SRAM, or ROM. The total size of extended memory can be up to 512K bytes. The CY16 processor can access extended memory via two address regions of 0x8000-0x9FFF and 0xA0000xBFFF. The page register 0xC018 can be used to control the address region 0x8000-0x9FFF and the page register 0xC01A controls the address region of 0xA000-0xBFFF. Figure 4-1 illustrates that when the nXMEMSEL pin is asserted the upper CPU address pins are driven by the contents of the Page x Registers.
nXMEMSEL Pin 0000 + PC[14:0] PAGEx Register[5:0] + PC[12:0] 1 0 A[18:0]
Where: x = 1 or 2 PC = Program Counter A = CPU Address Bus
Note: PAGE 1 Register Active Range = 8000h to 9FFFh PAGE 2 Register Active Range = A000h to BFFFh nXMEMSEL Pin Active Range = 8000h to BFFFh
Figure 4-1. Page n Registers External Address Pins Logic 4.3.4 Merge Mode
Merge modes enabled through the External Memory Control Register [0xC03] allow combining of external memory regions in accordance with the following: * nXMEMSEL is active from 0x8000 to 0xBFFF * nXRAMSEL is active from 0x4000 to 0x7FFF when RAM Merge is disabled; nXRAMSEL is active from 0x4000 to 0xBFFF when RAM Merge is enabled * nXROMSEL is active from 0xC100 to 0xDFFF when ROM Merge is disabled; nXROMSEL is active from 0x8000 to 0xDFFF (excluding the 0xC000 to 0xC0FF area) when ROM Merge is enabled 4.3.5 Program Memory Hole Description
Code residing in the 0xC000-0xC0FF address space is not accessible by the cpu. 4.3.6 DMA to External Memory Prohibited
EZ-Host supports an internal DMA engine to rapidly move data between different functional blocks within the chip. This DMA engine is used for SIE1, SIE2, HPI, SPI, HSS, and IDE but it can only transfer data between the specified block and internal RAM or ROM. Setting up the DMA engine to transfer to or from an external memory space might result in internal RAM data corruption because the hardware (i.e HSS/HPI/SIE1/SIE2/IDE) does not explicitly check the address range. For example, setting up a DMA transfer to external address 0x8000 might result in a DMA transfer into address 0x0000. External Memory Related Resource Considerations: * By default A[18:15] are not available for general addressing and are driven high on power up. The Upper Address Enable Register must be written appropriately to enable A[18:15] for general addressing purposes. * 47k ohm external pull-up on A15-pin for 12-MHz crystal operation. * During the 3-msec BIOS boot procedure the CPU external memory bus is active. * ROM boot load value 0xC3B6 located at 0xC100. * HPI, HSS, SPI, SIE1, SIE2, and IDE can't DMA to external memory arrays. * Page 1 banking is always enabled and is in effect from 0x8000 to 0x9FFF. * Page 2 banking is always enabled and is in effect from 0xA000 to 0xBFFF. * CPU memory bus strobes may wiggle when chip selects are inactive.
Document #: 38-08015 Rev. *E
Page 15 of 119
CY7C67300
4.3.7 External Memory Interface Pins
Table 4-6. External Memory Interface Pins Pin Name nWR nRD nXMEMSEL (optional nCS) nXROMSEL (ROM nCS) nXRAMSEL (RAM nCS) A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 nBEL/A0 nBEH D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Pin Number 64 62 34 35 36 96 95 97 38 33 32 31 30 27 25 24 20 17 8 7 3 2 1 99 98 67 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83
Document #: 38-08015 Rev. *E
Page 16 of 119
CY7C67300
4.3.8 External Memory Interface Block Diagrams Figure 4-2 illustrates how to connect a 64k x 8 memory array (SRAM/ROM) to the EZ-Host external memory interface.
Interfacing to 64K x 8 External Memory Array
EZ-Host CY7C67300 External Memory Array 64K x 8
A[15:0] D[7:0] nXRAMSEL nWR nRD
A[15:0] D[7:0] CE WE OE
Figure 4-2. Interfacing to 64k x 8 Memory Array Figure 4-3 illustrates the interface for connecting a 16-bit ROM or 16-bit RAM to the EZ-Host external memory interface. In 16-bit mode, up to 256K words of external ROM or RAM are supported. Note that the Address lines do not map directly.
Up to 256k x 16 External Code/Data (Page Mode)
EZ-Host CY7C67300 External Memory Array Up to 256k x 16
A[18:1] D[15:0] nXMEMSEL nBEL nBEH nWR nRD
A[17:0] D[15:0] CE BLE BHE WE OE
Figure 4-3. Interfacing up to 256k x 16 for External Code/Data Figure 4-4 illustrates the interface for connecting an 8-bit ROM or 8-bit RAM to the EZ-Host external memory interface. In 8-bit mode, up to 512K bytes of external ROM or RAM are supported.
Up to 512k x 8 External Code/Data (Page Mode)
EZ-Host CY7C67300 External Memory Array Up to 512k x8
A[18:0] D[7:0] nXMEMSEL nWR nRD
A[18:0] D[7:0] CE WE OE
Figure 4-4. Interfacing up to 512k x 8 for External Code/Data
Document #: 38-08015 Rev. *E
Page 17 of 119
CY7C67300
4.4 General Purpose I/O Interface (GPIO)
EZ-Host has up to 32 GPIO signals available. Several other optional interfaces use GPIO pins as well and may reduce the overall number of available GPIOs. 4.4.1 GPIO Description
All Inputs are sampled asynchronously with state changes occurring at a rate of up to two 48-MHZ clock cycles. GPIO pins are latched directly into registers, a single flip-flop. 4.4.2 Unused Pin Descriptions
Unused USB pins should be three-stated with the D+ line pulled high through the internal pull-up resistor and the D- line pulled low through the internal pull-down resistor. Unused GPIO pins should be configured as outputs and driven low.
4.5
UART Interface
EZ-Host has a built-in UART interface. The UART interface supports data rates from 900 to 115.2K baud. It can be used as a development port or for other interface requirements. The UART interface is exposed through GPIO pins. 4.5.1 UART Features * Supports baud rates of 900 to 115.2K * 8-N-1 4.5.2 UART Pins.
Table 4-7. UART Interface Pins Pin Name TX RX Pin Number 42 43
4.6
I2C EEPROM Interface
EZ-Host provides a master only I2C interface for external serial EEPROMs. The serial EEPROM can be used to store application specific code and data. This I2C interface is only to be used for loading code out of EEPROM, it is not a general I2C interface. The I2C EEPROM interface is a BIOS implementation and is exposed through GPIO pins. Please refer to the BIOS documentation for additional details on this interface. 4.6.1 I2C EEPROM Features * Supports EEPROMs up to 64KB (512K bit) * Auto-detection of EEPROM size 4.6.2 I2C EEPROM Pins.
Table 4-8. I2C EEPROM Interface Pins Pin Name SCK SDA LARGE EEPROM SCK SDA 40 39 Pin Number 39 40 SMALL EEPROM
4.7
Serial Peripheral Interface
EZ-Host provides a SPI interface for added connectivity. EZ-Host may be configured as either an SPI master or SPI slave. The SPI interface can be exposed through GPIO pins or the External Memory port.
Document #: 38-08015 Rev. *E
Page 18 of 119
CY7C67300
4.7.1 SPI Features * Master or slave mode operation * DMA block transfer and PIO byte transfer modes * Full duplex or half duplex data communication * 8-byte receive FIFO and 8-byte transmit FIFO * Selectable master SPI clock rates from 250 KHz to 12 MHz * Selectable master SPI clock phase and polarity * Slave SPI signaling synchronization and filtering * Slave SPI clock rates up to 2 MHz * Maskable interrupts for block and byte transfer modes * Individual bit transfer for non-byte aligned serial communication in PIO mode * Programmable delay timing for the active/inactive master SPI clock * Auto or manual control for master mode slave select signal * Complete access to internal memory 4.7.2 SPI Pins
The SPI port has a few different pin location options as shown in Table 4-9. The port location is selectable via the GPIO Control Register [0xC006]. Table 4-9. SPI Interface Pins Pin Name Default Location nSSI SCK MOSI MISO Alternate Location nSSI SCK MOSI MISO 73 72 71 74 56 or 65 61 60 66 Pin Number
4.8
High-speed Serial Interface
EZ-Host provides an HSS interface. The HSS interface is a programmable serial connection with baud rate from 9600 baud to 2.0 Mbaud. The HSS interface supports both byte and block mode operations as well as hardware and software handshaking. Complete control of EZ-Host can be accomplished through this interface via an extensible API and communication protocol. The HSS interface can be exposed through GPIO pins or the External Memory port. 4.8.1 HSS Features * 8 bits, no parity code * Programmable baud rate from 9600 baud to 2 Mbaud * Selectable 1- or 2-stop bit on transmit * Programmable inter-character gap timing for Block Transmit * 8-byte receive FIFO * Glitch filter on receive * Block mode transfer directly to/from EZ-Host internal memory (DMA transfer) * Selectable CTS/RTS hardware signal handshake protocol * Selectable XON/XOFF software handshake protocol * Programmable Receive interrupt, Block Transfer Done interrupts * Complete access to internal memory
Document #: 38-08015 Rev. *E
Page 19 of 119
CY7C67300
4.8.2 HSS Pins The HSS port has a few different pin location options as shown in Table 4-10. The port location is selectable via the GPIO Control Register [0xC006]. Table 4-10. HSS Interface Pins Pin Name Default Location CTS RTS RX TX Alternate Location CTS RTS RX TX Pin Number 67 68 69 70 44 53 54 55
4.9
Programmable Pulse/PWM Interface
EZ-Host has four built-in PWM output channels. Each channel provides a programmable timing generator sequence that can be used to interface to various image sensors or other applications. The PWM interface is exposed through GPIO pins. 4.9.1 Programmable Pulse/PWM Features * Four independent programmable waveform generators * Programmable predefined frequencies ranging from 5.90 KHz to 48 MHz * Configurable polarity * Continuous and one-shot mode available 4.9.2 Programmable Pulse/PWM Pins.
Table 4-11. PWM Interface Pins Pin Name PWM3 PWM2 PWM1 PWM0 Pin Number 44 53 54 55
4.10
Host Port Interface
EZ-Host has an HPI interface. The HPI interface provides DMA access to the EZ-Host internal memory by an external host, plus a bidirectional mailbox register for supporting high-level communication protocols. This port is designed to be the primary high-speed connection to a host processor. Complete control of EZ-Host can be accomplished through this interface via an extensible API and communication protocol. Other than the HW communication protocols, a host processor has identical control over EZ-Host whether connecting to the HPI or HSS port. The HPI interface is exposed through GPIO pins. 4.10.1 HPI Features * 16-bit data bus interface * 16 MB/s throughput * Auto-Increment of address pointer for fast block mode transfers * Direct memory access (DMA) to internal memory * Bidirectional Mailbox register * Byte Swapping * Complete access to internal memory * Complete control of SIEs through HPI * Dedicated HPI Status Register Document #: 38-08015 Rev. *E Page 20 of 119
CY7C67300
4.10.2 HPI Pins. Table 4-12. HPI Interface Pins[3, 4] Pin Name INT nRD nWR nCS A1 A0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Pin Number 46 47 48 49 50 52 56 57 58 59 60 61 65 66 86 87 89 90 91 92 93 94
The two HPI address pins are used to address one of four possible HPI port registers as shown in Table 4-13 below. Table 4-13. HPI Addressing HPI A[1:0] HPI Data HPI Mailbox HPI Address HPI Status A1 0 0 1 1 A0 0 1 0 1
4.11
IDE Interface
EZ-Host has an IDE interface. The IDE interface supports PIO mode 0-4 as specified in the Information Technology-AT Attachment-4 with Packet Interface Extension (ATA/ATAPI-4) Specification, T13/1153D Rev 18. There is no need for firmware to use programmable wait states. The CPU read/write cycle is automatically extended as needed for direct CPU to IDE read/write accesses. The EZ-Host IDE interface also has a BLOCK transfer mode that allows EZ-Host to read/write large blocks of data to/from the IDE Data Register and move it to/from the EZ-Host onchip memory directly without intervention of the CPU. The IDE interface is exposed through GPIO pins. Table 4-14 lists the achieved throughput for maximum block mode data transfer rate (with IDE_IORDY true) for the various IDE PIO modes.
Notes: 3. HPI_INT is for the Outgoing Mailbox Interrupt. 4. HPI strobes are negative logic sampled on rising edge.
Document #: 38-08015 Rev. *E
Page 21 of 119
CY7C67300
Table 4-14. IDE Throughput Mode PIO Mode 0 PIO Mode 1 PIO Mode 2 PIO Mode 3 PIO Mode 4 ATA/ATAPI-4 Min. Cycle Time 600 ns 383 ns 240 180 ns 120 ns Actual Min. Cycle Time 30T = 625 ns 20T = 416.7 ns 13T = 270.8 ns 10T = 208.3 ns 8T = 166.7 ns ATA/ATPI-4 Max. Transfer Rate 3.33 MB/s 5.22 MB/s 8.33 MB/s 11.11 MB/s 16.67 MB/s Actual Max. Transfer Rate 3.2 MB/s 4.8 MB/s 7.38 MB/s 9.6 MB/s 12.0 MB/s
T = System clock period = 1/48 MHz. 4.11.1 IDE Features * Programmable I/O mode 0-4 * Block mode transfers * Direct memory access to/from internal memory through the IDE Data Register 4.11.2 IDE Pins
Table 4-15. IDE Interface Pins Pin Name IORDY IOR IOW CS1 CS0 A2 A1 A0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Pin Number 46 47 48 50 52 53 54 55 56 57 58 59 60 61 65 66 86 87 89 90 91 92 93 94
4.12
Charge Pump Interface
VBUS for the USB OTG port can be produced by EZ-Host using its built-in charge pump and some external components. The circuit connections should look similar to the diagram below.
Document #: 38-08015 Rev. *E
Page 22 of 119
CY7C67300
D1
CSWITCHA CY7C67300 CSWITCHB
D2
C1
OTGVBUS
VBUS C2
Figure 4-5. Charge Pump Component details: * D1 and D2: Schottky diodes with a current rating greater than 60 mA * C1: Ceramic capacitor with a capacitance of 0.1 uF * C2: Capacitor value should be no more that 6.5 uF since that is the maximum capacitance allowed by the USB OTG spec for a dual-role device. The minimum value of C2 is 1 uF. There are no restrictions on the type of capacitor for C2. If the VBUS charge pump circuit is not to be used, CSWITCHA, CSWITCHB, and OTGVBUS can be left unconnected. 4.12.1 Charge Pump Features * Meets OTG Supplement Requirements, see DC Characteristics: Charge Pump Table 13-2 for details. 4.12.2 Charge Pump Pins.
Table 4-16. Charge Pump Interface Pins Pin Name OTGVBUS CSwitchA CSwitchB Pin Number 11 13 12
4.13
Booster Interface
EZ-Host has an on-chip power booster circuit for use with power supplies that range between 2.7V and 3.6V. The booster circuit boosts the power to 3.3V nominal to supply power for the entire chip. The booster circuit requires an external inductor, diode, and capacitor. During power down mode, the circuit is disabled to save power. The figure below shows how to connect the booster circuit.
Document #: 38-08015 Rev. *E
Page 23 of 119
CY7C67300
BOOSTVcc L1 2.7V to 3.6V power supply
VSWITCH D1 3.3V VCC AVCC C1
Figure 4-6. Power Supply Connection With Booster Component details: * L1: Inductor with inductance of 10 uH and a current rating of at least 250 mA * D1: Schottky diode with a current rating of at least 250 mA * C1: Tantalum or ceramic capacitor with a capacitance of at least 2.2 uF. Figure 4-7 shows how to connect the power supply when the booster circuit is not being used.
BOOSTVcc 3.0V to 3.6V power supply
VSWITCH
VCC AVCC
Figure 4-7. Power Supply Connection Without Booster 4.13.1 Booster Pins.
Table 4-17. Charge Pump Interface Pins Pin Name BOOSTVcc VSWITCH Pin Number 16 14
Document #: 38-08015 Rev. *E
Page 24 of 119
CY7C67300
4.14 Crystal Interface
The recommended crystal circuit to be used with EZ-Host is shown in Figure 4-8 If an oscillator is used instead of a crystal circuit, connect it to XTALIN and leave XTALOUT unconnected. For further information on the crystal requirements, see Crystal Requirements Table 12-1. It should be noted that the CLKSEL pin (pin 38) is sampled after reset to determine what crystal or clock source frequency is used. For normal operation, 12 MHz is required so the CLKSEL pin must have a 47-kohm pull-up resistor to VCC..
XTALIN
CY7C67300
Y1
XTALOUT C1 = 22 pF
12MHz Parallel Resonant Fundamental Mode 500uW 20-33pf 5% C2 = 22 pF
Figure 4-8. Crystal Interface 4.14.1 Crystal Pins
Table 4-18. Crystal Pins Pin Name XTALIN XTALOUT Pin Number 29 28
4.15
Boot Configuration Interface
EZ-Host can boot into any one of four modes. The mode it boots into is determined by the TTL voltage level of GPIO[31:30] at the time nRESET is deasserted. The table below shows the different boot pin combinations possible. After a reset pin event occurs, the BIOS bootup procedure executes for up to 3 ms. GPIO[31:30] are sampled by the BIOS during bootup only. After bootup these pins are available to the application as GPIOs. Table 4-19. Boot Configuration Interface GPIO31 (Pin 39) 0 0 1 1 GPIO30 (Pin 40) 0 1 0 1 Boot Mode Host Port Interface (HPI) High-Speed Serial (HSS) Serial Peripheral Interface (SPI, slave mode) I2C EEPROM (Standalone Mode)
GPIO[31:30] should be pulled high or low as needed using resistors tied to VCC or GND with resistor values between 5K and 15K. GPIO[31:30] should not be tied directly to VCC or GND. Note that in standalone mode, the pull-ups on those two pins are used for the serial I2C EEPROM (if implemented). The resistors used for these pull-ups should conform to the serial EEPROM manufacturer's requirements. If any mode other then standalone is chosen, EZ-Host will be in coprocessor mode. The device will power up with the appropriate communication interface enabled according to its boot pins and wait idle until a coprocessor communicates with it. See the BIOS documentation for greater detail of the boot process.
Document #: 38-08015 Rev. *E
Page 25 of 119
CY7C67300
4.16
4.16.1
Operational Modes
Coprocessor Mode
EZ-Host can act as a coprocessor to an external host processor. In this mode, an external host processor drives EZ-Host and is the main processor rather then EZ-Host's own 16-bit internal CPU. An external host processor may interface to EZ-Host through one of the following three interfaces in coprocessor mode: * HPI mode, a 16-bit parallel interface with up to 16 MB transfer rate * HSS mode, a serial interface with up to 2 MBaud transfer rate * SPI mode, a serial interface with up to 2 Mb/s transfer rate. At bootup GPIO[31:30] determine which of these three interfaces are used for coprocessor mode. See Table 4-19 for details. Bootloading begins from the selected interface after POR + 3 ms of BIOS boot-up. 4.16.2 Standalone Mode
In standalone mode, there is no external processor connected to EZ-Host. Instead, EZ-Host's own internal 16-bit CPU is the main processor and firmware is typically downloaded from an EEPROM. Optionally, firmware may also be downloaded via USB. See Table 4-19 for booting into standalone mode. After booting into standalone mode (GPIO[31:30] = `11'), the following pins are effected: * GPIO[31:20] are configured as output pins to examine the EEPROM contents * GPIO[28:27] are enabled for debug UART mode * GPIO[29] is configured for as OTGID for OTG applications on PORT1A -- If OTGID is logic 1 then PORT1A (OTG) is configured as a USB peripheral -- If OTGID is logic 0 then PORT1A (OTG) is configured as a USB host * Ports 1B, 2A, and 2B default as USB peripheral ports * All other pins remain INPUT pins. 4.16.2.1 Minimum Hardware Requirements for Standalone Mode - Peripheral Only
Minimum Standalone Hardware Configuration - Peripheral Only
EZ-Host CY7C67300 VReg VBus D+ DGND SHIELD Bootstrap Options Vcc Vcc Pin 38 10k 10k GPIO[30] GPIO[31] SCL* SDA* Int. 16k x8 Code / Data VCC A0 A1 A2 GND Up to 64k x8 EEPROM VCC WP SCL SDA Reserved XIN GND, AGND, BoostGND *Bootloading begins after POR + 3ms BIOS bootup *GPIO[31:30] Up to 2k x8 >2k x8 to 64k x8 31 30 SCL SDA SDA SCL
12MHz 22pf
VCC, AVCC, BoostVCC DPlus DMinus
nRESET
Reset Logic
Standard-B or Mini-B
VCC
47Kohm
Bootloading Firmware
XOUT * Parallel Resonant
22pf
Fundamental Mode 500uW 20-33pf 5%
Figure 4-9. Minimum Standalone Hardware Configuration - Peripheral Only
Document #: 38-08015 Rev. *E
Page 26 of 119
CY7C67300
5.0
5.1
Power-Savings and Reset Description
Power-Savings Mode Description
EZ-Host has one main power-savings mode, Sleep. For detailed information on Sleep mode, see section 5.2. Sleep mode is used for USB applications to support USB suspend and non USB applications as the main chip power down mode. In addition, EZ-Host is capable of slowing down the CPU clock speed through the CPU Speed Register [0xC008] without affecting other peripheral timing. Reducing the CPU clock speed from 48 MHz to 24 MHz will reduce the overall current draw by around 8mA while reducing it from 48 MHz to 3 MHz will reduce the overall current draw by approximately 15 mA.
5.2
Sleep
Sleep mode is the main chip power down mode and is also used for USB suspend. Sleep mode is entered by setting the Sleep Enable (bit 1) of the Power Control Register [0xC00A]. During Sleep mode (USB Suspend) the following events and states are true: * GPIO pins maintain their configuration during sleep (in suspend) * External Memory Address pins are driven low * XTALOUT will be turned off * Internal PLL will be turned off * Firmware should disable the charge pump (OTG Control Register [0xC098]) causing OTGVBUS to drop below 0.2V. Otherwise OTGVBUS will only drop to VCC - (2 schottky diode drops). * Booster circuit will be turned off * USB transceivers will be turned off * CPU will suspend until a programmable wakeup event.
5.3
External (Remote) wakeup Source
There are several possible events available to wake EZ-Host from Sleep mode as shown in Table 5-1. These may also be used as remote wakeup options for USB applications. See the Power-down Control Register [0xC00A] for details. Upon wakeup, code will begin executing within 200 s, the time it takes the PLL to stabilize. Table 5-1. Wakeup Sources[5, 6] Wakeup Source (if enabled) USB Resume OTGVBUS OTGID HPI HSS SPI IRQ1 (GPIO 25) IRQ0 (GPIO 24) Event D+/D- Signaling Level Any Edge Read Read Read Any Edge Any Edge
5.4
Power-On-Reset Description
The length of the power-on-reset event can be defined by (VCC ramp to valid) + (Crystal start up). A typical application might utilize a 12-ms power-on-reset event = ~7 ms + ~5 ms, respectively.
5.5
Reset Pin
The Reset pin is active low and requires a minimum pulse duration of 16 12-MHz clock cycles (1.3 s). A reset event will restore all registers to their default POR settings. Code execution will then begin 200 s later at 0xFF00 with an immediate jump to 0xE000, the start of BIOS. Please refer to BIOS documentation for addition details.
5.6
USB Reset
A USB Reset will affect registers 0xC090 and 0xC0B0, all other registers remain unchanged.
Notes: 5. Read data will be discarded (dummy data). 6. HPI_INT will assert on a USB Resume.
Document #: 38-08015 Rev. *E
Page 27 of 119
CY7C67300
6.0
6.1
Memory Map
Mapping
The total memory space directly addressable by the CY16 processor is 64K (0x0000-0xFFFF). Program, data, and I/O are contained within this 64K space. This memory space is byte addressable. Figure 6-1. shows the various memory region address locations. 6.1.1 Internal Memory
Of the internal memory, 15K bytes are allocated for user's program and data. The lower memory space from 0x0000 to 0x04A2 is reserved for interrupt vectors, general-purpose registers, USB control registers, stack, and other BIOS variables. The upper internal memory space contains EZ-Host control registers from 0xC000 to 0xC0FF and the BIOS ROM itself from 0xE000 to 0xFFFF. For more information on the reserved lower memory or the BIOS ROM, please refer to the Programmers documentation and/or the BIOS documentation. During development with the EZ-Host toolset, the lower area of User's space (0x04A4 to 0x1000) should be left available to load the GDB stub. The GDB stub is required to allow the toolset debug access into EZ-Host. The chip select pins are not active during accesses to internal memory. 6.1.2 External Memory
up to 32KB of external memory from 0x4000 - 0xBFFF is available via one chip select line (nXRAMSEL) with RAM Merge enabled (BIOS default). Additionally, another 8KB region from 0xC100 - 0xDFFF is available via a second chip select line (nXROMSEL) giving 40KB of total available external memory. Together with the internal 15KB, this gives a total of either ~48KB (1 chip select) or ~56KB (2 chip selects) of available memory for either code or data. Please note that the memory map and pin names (nXRAMSEL/nXROMSEL) define specific memory regions for RAM vs. ROM. This allows the BIOS to look in the upper external memory space at 0xC100 for SCAN vectors (enabling code to be loaded/executed from ROM). If no SCAN vectors are required in the design (external memory is used exclusively for data), then all external memory regions can be used for RAM. Similarly, the external memory can be used exclusively for code space (ROM). If more external memory is required, EZ-Host has enough address lines to support up to 512KB. However, this will require complex code banking/paging schemes via the Extended Page Registers. For further information on setting up the external memory, see the External Memory Interface Section.
Document #: 38-08015 Rev. *E
Page 28 of 119
CY7C67300
Internal Memory
0x0000 - 0x00FF 0x0100 - 0x011F 0x0120 - 0x013F 0x0140 - 0x0148 0x014A - 0x01FF 0x0200- 0x02FF 0x0300- 0x030F 0x0310- 0x03FF 0x0400- 0x04A2 0x04A4- 0x3FFF
HW INT's SW INT's Primary Registers Swap Registers HPI Int / Mailbox LCP Variables USB Registers Slave Setup Packet BIOS Stack USB Slave & OTG USER SPACE ~15K
External Memory
0x4000- 0x7FFF
USER SPACE 16K
Bank Selected by 0xC018 Bank Selected by 0xC01A
0x8000- 0x9FFF
Extended Page 1 USER SPACE 01 Up to 64 8K Banks
0xA000- 0xBFFF Control Registers 0xC100- 0xDFFF 0xE000- 0xFFFF
Extended Page 2 USER SPACE 01 Up to 64 8K Banks USER SPACE ~8K
0xC000- 0xC0FF
BIOS
Figure 6-1. Memory Map
Document #: 38-08015 Rev. *E
Page 29 of 119
CY7C67300
7.0 Registers
Some registers have different functions for a read vs. a write access or USB host vs. USB device mode. Therefore, registers of this type will have multiple definitions for the same address. The default register values listed in this datasheet may get altered to some other value during the BIOS initialization. Please refer to the BIOS documentation for Register initialization information.
7.1
Processor Control Registers
There are nine registers dedicated to general processor control. Each of these registers are covered in this section and are summarized in Figure 7-1. Register Name CPU Flags Register Register Bank Register Hardware Revision Register CPU Speed Register Power Control Register Interrupt Enable Register Breakpoint Register USB Diagnostic Register Memory Diagnostic Register 0xC000 0xC002 0xC004 0xC008 0xC00A 0xC00E 0xC014 0xC03C 0xC03E Figure 7-1. Processor Control Registers 7.1.1 CPU Flags Register [0xC000] [R]
Bit # Field Read/Write Default Bit # Field Read/Write Default 0 0 7 0 6 ...Reserved 0 0 0 5 0 4 Global Interrupt Enable R X 15 14 13 12 Reserved... 0 3 Negative Flag R X 0 2 Overflow Flag R X 0 1 Carry Flag R X 0 0 Zero Flag R X 11 10 9 8
Address R R/W R R/W R/W R/W R/W W W
R/W
Figure 7-2. CPU Flags Register Register Description The CPU Flags Register is a read-only register that gives processor flags status. Global Interrupt Enable (Bit 4) The Global Interrupt Enable bit indicates if the Global Interrupts are enabled. 1: Enabled 0: Disabled Negative Flag (Bit 3) The Negative Flag bit indicates if an arithmetic operation results in a negative answer. 1: MS result bit is `1' 0: MS result bit is not `1' Overflow Flag (Bit 2) The Overflow Flag bit indicates if an overflow condition occurred. An overflow condition can occur if an arithmetic result was either larger than the destination operand size (for addition) or smaller than the destination operand should allow for subtraction. 1: Overflow occurred Document #: 38-08015 Rev. *E Page 30 of 119
CY7C67300
0: Overflow did not occur Carry Flag (Bit 1) The Carry Flag bit indicates if an arithmetic operation resulted in a Carry for addition, or borrow for subtraction. 1: Carry/Borrow occurred 0: Carry/Borrow did not occur Zero Flag (Bit 0) The Zero Flag bit indicates if an instruction execution resulted in a `0'. 1: Zero occurred 0: Zero did not occur 7.1.2 Bank Register [0xC002] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 7 R/W 0 6 ...Address R/W 0 R/W 0 X X R/W 0 5 R/W 0 4 15 14 13 12 Address... R/W 0 3 R/W 0 2 Reserved X X X R/W 0 1 R/W 1 0 11 10 9 8
Figure 7-3. Bank Register Register Description The Bank Register maps registers R0-R15 into RAM. The eleven MSBs of this register are used as a base address for registers R0-R15. A register address is automatically generated by: 1. Shifting the four LSBs of the register address left by 1. 2. ORing the four shifted bits of the register address with the twelve MSBs of the Bank Register. 3. Forcing the LSB to zero. For example, if the Bank Register is left at its default value of 0x0100, and R2 is read, then the physical address 0x0102 will be read. Refer to Table 7-1 for details. Table 7-1. Bank Register Example Register Bank R14 RAM Location Address (Bits [15:4]) The Address field is used as a base address for all register addresses to start from. Reserved All reserved bits should be written as `0'. 7.1.3 Hardware Revision Register [0xC004] [R]
Bit # Field Read/Write Default Bit # Field Read/Write Default R X R X R X R X R X 7 R X 6 R X 5 R X 4 ...Revision R X R X R X R X 15 14 13 12 Revision... R X 3 R X 2 R X 1 R X 0 11 10 9 8
Hex Value 0x0100 0x000E << 1 = 0x001C 0x011C
Binary Value 0000 0001 0000 0000 0000 0000 0001 1100 0000 0001 0001 1100
Figure 7-4. Revision Register Document #: 38-08015 Rev. *E Page 31 of 119
CY7C67300
Register Description The Hardware Revision Register is a read-only register that indicates the silicon revision number. The first silicon revision is represented by 0x0101. This number will be increased by one for each new silicon revision. Revision (Bits [15:0]) The Revision field contains the silicon revision number. 7.1.4 CPU Speed Register [0xC008] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default 0 0 0 7 0 6 ...Reserved 0 0 R/W 1 1 0 5 0 4 15 14 13 12 Reserved... 0 3 0 2 CPU Speed R/W R/W 1 R/W 1 0 1 0 0 11 10 9 8
Figure 7-5. CPU Speed Register Register Description The CPU Speed Register allows the processor to operate at a user-selected speed. This register will only affect the CPU, all other peripheral timing is still based on the 48-MHz system clock (unless otherwise noted). CPU Speed (Bits[3:0]) The CPU Speed field is a divisor that selects the operating speed of the processor as defined in Table 7-2. Table 7-2. CPU Speed Definition CPU Speed [3:0] 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Reserved All reserved bits should be written as `0'. Processor Speed 48 MHz/1 48 MHz/2 48 MHz/3 48 MHz/4 48 MHz/5 48 MHz/6 48 MHz/7 48 MHz/8 48 MHz/9 48 MHz/10 48 MHz/11 48 MHz/12 48 MHz/13 48 MHz/14 48 MHz/15 48 MHz/16
Document #: 38-08015 Rev. *E
Page 32 of 119
CY7C67300
7.1.5
Bit # Field
Power Control Register [0xC00A] [R/W]
15 Host/Device 2B Wake Enable R/W 0 7 HPI Wake Enable R/W 0 0 14 Host/Device 2A Wake Enable R/W 0 6 Reserved 13 Host/Device 1B Wake Enable R/W 0 5 12 Host/Device 1A Wake Enable R/W 0 4 GPI Wake Enable 0 R/W 0 11 OTG Wake Enable R/W 0 3 Reserved 10 Reserved 9 HSS Wake Enable R/W 0 1 Sleep Enable R/W 0 8 SPI Wake Enable R/W 0 0 Halt Enable R/W 0
Read/Write Default Bit # Field
0 2 Boost 3V OK R 0
Read/Write Default
0
Figure 7-6. Power Control Register Register Description The Power Control Register controls the power-down and wakeup options. Either the sleep mode or the halt mode options can be selected. All other writable bits in this register can be used as a wakeup source while in sleep mode. Host/Device 2B Wake Enable (Bit 15) The Host/Device 2B Wake Enable bit enables or disables a wakeup condition to occur on a Host/Device 2B transition. This wake up from the SIE port does not cause an interrupt to the on-chip CPU. 1: Enable wakeup on Host/Device 2B transition 0: Disable wakeup on Host/Device 2B transition Host/Device 2A Wake Enable (Bit 14) The Host/Device 2A Wake Enable bit enables or disables a wakeup condition to occur on an Host/Device 2A transition. This wake up from the SIE port does not cause an interrupt to the on-chip CPU. 1: Enable wakeup on Host/Device 2A transition 0: Disable wakeup on Host/Device 2A transition Host/Device 1B Wake Enable (Bit 13) The Host/Device 1B Wake Enable bit enables or disables a wakeup condition to occur on an Host/Device 1B transition. This wake up from the SIE port does not cause an interrupt to the on-chip CPU. 1: Enable wakeup on Host/Device 1B transition 0: Disable wakeup on Host/Device 1B transition Host/Device 1A Wake Enable (Bit 12) The Host/Device 1A Wake Enable bit enables or disables a wakeup condition to occur on an Host/Device 1A transition. This wake up from the SIE port does not cause an interrupt to the on-chip CPU. 1: Enable wakeup on Host/Device 1A transition 0: Disable wakeup on Host/Device 1A transition OTG Wake Enable (Bit 11) The OTG Wake Enable bit enables or disables a wakeup condition to occur on either an OTG VBUS_Valid or OTG ID transition (IRQ20). 1: Enable wakeup on OTG VBUS valid or OTG ID transition 0: Disable wakeup on OTG VBUS valid or OTG ID transition HSS Wake Enable (Bit 9) The HSS Wake Enable bit enables or disables a wakeup condition to occur on an HSS Rx serial input transition. The processor may take several hundreds of microseconds before being operational after wakeup. Therefore, the incoming data byte that causes the wakeup will be discarded. 1: Enable wakeup on HSS Rx serial input transition 0: Disable wakeup on HSS Rx serial input transition Document #: 38-08015 Rev. *E Page 33 of 119
CY7C67300
SPI Wake Enable (Bit 8) The SPI Wake Enable bit enables or disables a wakeup condition to occur on a falling SPI_nSS input transition. The processor may take several hundreds of microseconds before being operational after wakeup. Therefore, the incoming data byte that causes the wakeup will be discarded. 1: Enable wakeup on falling SPI nSS input transition 0: Disable SPI_nSS interrupt HPI Wake Enable (Bit 7) The HPI Wake Enable bit enables or disables a wakeup condition to occur on an HPI interface read. 1: Enable wakeup on HPI interface read 0: Disable wakeup on HPI interface read GPI Wake Enable (Bit 4) The GPI Wake Enable bit enables or disables a wakeup condition to occur on a GPIO(25:24) transition. 1: Enable wakeup on GPIO(25:24) transition 0: Disable wakeup on GPIO(25:24) transition Boost 3V OK (Bit 2) The Boost 3V OK bit is a read only bit that returns the status of the OTG Boost circuit. 1: Boost circuit not ok and internal voltage rails are below 3.0V 0: Boost circuit ok and internal voltage rails are at or above 3.0V Sleep Enable (Bit 1) Setting this bit to `1' will immediately initiate SLEEP mode. While in SLEEP mode, the entire chip is paused, achieving the lowest standby power state. All operations are paused, the internal clock is stopped, the booster circuit and OTG VBUS charge pump are all powered down, and the USB transceivers are powered down. All counters and timers are paused but will retain their values; enabled PWM outputs freeze in their current states. SLEEP mode exits by any activity selected in this register. When SLEEP mode ends, instruction execution will resume within 0.5 ms. 1: Enable Sleep mode 0: No function Halt Enable (Bit 0) Setting this bit to `1' will immediately initiate HALT mode. While in HALT mode, only the CPU is stopped. The internal clock still runs and all peripherals still operate, including the USB engines. The power saving using HALT in most cases will be minimal, but in applications that are very CPU intensive the incremental savings may provide some benefit. The HALT state is exited when any enabled interrupt is triggered. Upon exiting the HALT state, one or two instructions immediately following the HALT instruction may be executed before the waking interrupt is serviced (you may want to follow the HALT instruction with two NOPs). 1: Enable Halt mode 0: No function Reserved All reserved bits should be written as `0'.
Document #: 38-08015 Rev. *E
Page 34 of 119
CY7C67300
7.1.6
Bit # Field
Interrupt Enable Register [0xC00E] [R/W]
15 14 Reserved 13 12 OTG Interrupt Enable 0
5 Out Mailbox Interrupt Enable R/W 0
11 SPI Interrupt Enable R/W 0
3 UART Interrupt Enable R/W 0
10 Reserved
9
8
Host/Device 2 Host/Device 1 Interrupt Interrupt Enable Enable R/W 0
1 Timer 1 Interrupt Enable R/W 0
Read/Write Default
Bit # Field
0
7 HSS Interrupt Enable R/W 0
0
6 In Mailbox Interrupt Enable R/W 0
R/W 0
4 Reserved
0
2 GPIO Interrupt Enable R/W 0
R/W 0
0 Timer 0 Interrupt Enable R/W 0
Read/Write Default
1
Figure 7-7. Interrupt Enable Register Register Description The Interrupt Enable Register allows control of the hardware interrupt vectors. OTG Interrupt Enable (Bit 12) The OTG Interrupt Enable bit enables or disables the OTG ID/OTG4.4V Valid hardware interrupt. 1: Enable OTG interrupt 0: Disable OTG interrupt SPI Interrupt Enable (Bit 11) The SPI Interrupt Enable bit enables or disables the following three SPI hardware interrupts: SPI TX, SPI RX, and SPI DMA Block Done. 1: Enable SPI interrupt 0: Disable SPI interrupt Host/Device 2 Interrupt Enable (Bit 9) The Host/Device 2 Interrupt Enable bit enables or disables all of the following Host/Device 2 hardware interrupts: Host 2 USB Done, Host 2 USB SOF/EOP, Host 2 Wakeup/Insert/Remove, Device 2 Reset, Device 2 SOF/EOP or WakeUp from USB, Device 2 Endpoint n. 1: Enable Host 2 and Device 2 interrupt 0: Disable Host 2 and Device 2 interrupt Host/Device 1 Interrupt Enable (Bit 8) The Host/Device 1 Interrupt Enable bit enables or disables all of the following Host/Device 1 hardware interrupts: Host 1 USB Done, Host 1 USB SOF/EOP, Host 1 Wakeup/Insert/Remove, Device 1 Reset, Device 1 SOF/EOP or WakeUp from USB, Device 1Endpoint n. 1: Enable Host 1 and Device 1 interrupt 0: Disable Host 1 and Device 1 interrupt HSS Interrupt Enable (Bit 7) The HSS Interrupt Enable bit enables or disables the following High-speed Serial Interface hardware interrupts: HSS Block Done, and HSS RX Full. 1: Enable HSS interrupt 0: Disable HSS interrupt In Mailbox Interrupt Enable (Bit 6) The In Mailbox Interrupt Enable bit enables or disables the HPI: Incoming Mailbox hardware interrupt. 1: Enable MBXI interrupt 0: Disable MBXI interrupt
Document #: 38-08015 Rev. *E
Page 35 of 119
CY7C67300
Out Mailbox Interrupt Enable (Bit 5) The Out Mailbox Interrupt Enable bit enables or disables the HPI: Outgoing Mailbox hardware interrupt. 1: Enable MBXO interrupt 0: Disable MBXO interrupt UART Interrupt Enable (Bit 3) The UART Interrupt Enable bit enables or disables the following UART hardware interrupts: UART TX, and UART RX. 1: Enable UART interrupt 0: Disable UART interrupt GPIO Interrupt Enable (Bit 2) The GPIO Interrupt Enable bit enables or disables the General Purpose I/O Pins Interrupt (see the GPIO Control Register). When the GPIO bit is reset, all pending GPIO interrupts are also cleared 1: Enable GPIO interrupt 0: Disable GPIO interrupt Timer 1 Interrupt Enable (Bit 1) The Timer 1 Interrupt Enable bit enables or disables the TImer1 Interrupt Enable. When this bit is reset, all pending Timer 1 interrupts are cleared. 1: Enable TM1 interrupt 0: Disable TM1 interrupt Timer 0 Interrupt Enable (Bit 0) The Timer 0 Interrupt Enable bit enables or disables the TImer0 Interrupt Enable. When this bit is reset, all pending Timer 0 interrupts are cleared. 1: Enable TM0 interrupt 0: Disable TM0 interrupt Reserved All reserved bits should be written as `0'. 7.1.7
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 7 R/W 0 6 R/W 0 5 R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0
Breakpoint Register [0xC014] [R/W]
15 14 13 12 Address... R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Figure 7-8. Breakpoint Register Register Description The Breakpoint Register holds the breakpoint address. When the program counter match this address, the INT127 interrupt occurs. To clear this interrupt, a zero value should be written to this register. Address (Bits [15:0]) The Address field is a 16-bit field containing the breakpoint address.
Document #: 38-08015 Rev. *E
Page 36 of 119
CY7C67300
7.1.8
Bit # Field
USB Diagnostic Register [0xC03C] [R/W]
15 Port 2B Diagnostic Enable R/W 0 7 ...Reserved 0 14 Port 2A Diagnostic Enable R/W 0 6 Pull-down Enable R/W 0 13 Port 1B Diagnostic Enable R/W 0 5 LS Pull-up Enable R/W 0 12 Port 1A Diagnostic Enable R/W 0 4 FS Pull-up Enable R/W 0 0 3 Reserved 0 R/W 0 0 2 11 10 Reserved... 9 8
Read/Write Default Bit # Field Read/Write Default
0 1 Force Select R/W 0
0 0
R/W 0
Figure 7-9. USB Diagnostic Register Register Description The USB Diagnostic Register provides control of diagnostic modes. It is intended for use by device characterization tests, not for normal operations. This register is Read/Write by the on-chip CPU but is write only via the HPI port. Port 2B Diagnostic Enable (Bit 15) The Port 2B Diagnostic Enable bit enables or disables Port 2B for the test conditions selected in this register. 1: Apply any of the following enabled test conditions: J/K, DCK, SE0, RSF, RSL, PRD 0: Do not apply test conditions Port 2A Diagnostic Enable (Bit 14) The Port 2A Diagnostic Enable bit enables or disables Port 2A for the test conditions selected in this register. 1: Apply any of the following enabled test conditions: J/K, DCK, SE0, RSF, RSL, PRD 0: Do not apply test conditions Port 1B Diagnostic Enable (Bit 13) The Port 1B Diagnostic Enable bit enables or disables Port 1B for the test conditions selected in this register. 1: Apply any of the following enabled test conditions: J/K, DCK, SE0, RSF, RSL, PRD 0: Do not apply test conditions Port 1A Diagnostic Enable (Bit 12) The Port 1A Diagnostic Enable bit enables or disables Port 1A for the test conditions selected in this register. 1: Apply any of the following enabled test conditions: J/K, DCK, SE0, RSF, RSL, PRD 0: Do not apply test conditions Pull-down Enable (Bit 6) The Pull-down Enable bit enables or disables full-speed pull-down resistors (pull-down on both D+ and D-) for testing. 1: Enable pull-down resistors on both D+ and D- 0: Disable pull-down resistors on both D+ and D- LS Pull-up Enable (Bit 5) The LS Pull-up Enable bit enables or disables a low-speed pull-up resistor (pull-up on D-) for testing. 1: Enable low-speed pull-up resistor on D- 0: Pull-up resistor is not connected on D- FS Pull-up Enable (Bit 4) The FS Pull-up Enable bit enables or disables a full-speed pull-up resistor (pull up on D+) for testing. 1: Enable full-speed pull-up resistor on D+ 0: Pull-up resistor is not connected on D+
Document #: 38-08015 Rev. *E
Page 37 of 119
CY7C67300
Force Select (Bits [2:0]) The Force Select field bit selects several different test condition states on the data lines (D+/D-). Refer to Table 7-3 for details. Table 7-3. Force Select Definition Force Select [2:0] 1xx 01x 001 000 Reserved All reserved bits should be written as `0'. 7.1.9
Bit # Field
Data Line State Assert SE0 Toggle JK Assert J Assert K
Memory Diagnostic Register [0xC03E] [W]
15 14 13 Reserved 12 11 10 9 Memory Arbitration Select 0 4 Reserved 0 0 0 0 0 0 0 0 3 W 0 2 W 0 1 W 0 0 Monitor Enable W 0 8
Read/Write Default Bit # Field Read/Write Default
0 7
0 6
0 5
Figure 7-10. Memory Diagnostic Register Register Description The Memory Diagnostic Register provides control of diagnostic modes. Memory Arbitration Select (Bits[10:8]) The Memory Arbitration Select field is defined in Table 7-4. Table 7-4. Memory Arbitration Select Memory Arbitration Select [3:0] 111 110 101 100 011 010 001 000 Monitor Enable (Bit 0) The Monitor Enable bit enables or disables monitor mode. In monitor mode the internal address bus is echoed to the external address pins. 1: Enable monitor mode 0: Disable monitor mode Reserved All reserved bits should be written as `0'. Document #: 38-08015 Rev. *E Page 38 of 119 Memory Arbitration Timing 1/8, 7 of every 8 cycles dead 2/8, 6 of every 8 cycles dead 3/8, 5 of every 8 cycles dead 4/8, 4 of every 8 cycles dead 5/8, 3 of every 8 cycles dead 6/8, 2 of every 8 cycles dead 7/8, 1 of every 8 cycles dead 8/8, all cycles available
CY7C67300
7.2 External Memory Registers
There are four registers dedicated to controlling the external memory interface. Each of these registers are covered in this section and are summarized in Figure 7-11 Register Name Extended Page 1 Map Register Extended Page 2 Map Register Upper Address Enable Register External Memory Control Register Address 0xC018 0xC01A 0xC038 0xC03A R/W R/W R/W R/W R/W
Figure 7-11. External Memory Control Registers 7.2.1 Extended Page n Map Register [R/W] * Extended Page 1 Map Register 0xC018 * Extended Page 2 Map Register 0xC01A
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 7 R/W 0 6 R/W 0 5 R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 15 14 13 12 Address... R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Figure 7-12. Extended Page n Map Register Register Description The Extended Page n Map Register contains the Page n high-order address bits. These bits are always appended to accesses to the Page n Memory mapped space. Address (Bits [15:0]) The Address field contains the high-order bits 28 to 13 of the Page n address. The address pins [8:0] (Page n address [21:13]) will reflect the content of this register when the CPU accesses the address 0x8000-0x9FFF. For the SRAM mode, the address pin on [4:0] (Page n address [17:13]) will be used. Bit [8] (Page n address [21]) should be set to `0', so that Page n reads/writes will access external areas (SRAM, ROM or peripherals). nXMEMSEL will be the external Chip Select for this space. 7.2.2 Upper Address Enable Register [0xC038] [R/W]
Bit # Field Read/Write Default Bit # Field X 7 X 6 Reserved X 5 X 4 15 14 13 12 Reserved X 3 Upper Address Enable X X R/W 0 X X X X 2 X 1 Reserved X 0 11 10 9 8
Read/Write Default
X
X
Figure 7-13. External Memory Control Register Register Description The Upper Address Enable Register enables/disables the four most significant bits of the external address A[18:15]. This register defaults to having the Upper Address disabled. It should be noted that on power up pins A[18:15] are driven high.
Document #: 38-08015 Rev. *E
Page 39 of 119
CY7C67300
Upper Address Enable (Bit 3) The Upper Address Enable bit enables/disables the four most significant bits of the external address A[18:15]. 1: Enable A[18:15] of the external memory interface for general addressing. 0: Disable A[18:15], Not available. Reserved All reserved bits should be written as `0'. 7.2.3 External Memory Control Register [0xC03A] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default X 7 XROM Width Select R/W X R/W X 15 Reserved X 6 14 13 12 11 XMEM Width Select R/W X 3 XRAM Width Select R/W X R/W X R/W X R/W X 2 10 9 XMEM Wait Select R/W X 1 XRAM Wait Select R/W X R/W X R/W X 0 8
XRAM Merge XROM Merge Enable Enable R/W X 5 XROM Wait Select R/W X R/W X 4
Figure 7-14. External Memory Control Register Register Description The External Memory Control Register provides control of Wait States for the external SRAM or ROM. All wait states are based off of 48 MHz. XRAM Merge Enable (Bit 13) The XRAM Merge Enable bit will enable or disable the RAM merge feature. When the RAM merge feature is enabled, the nXRAMSEL will be active when ever the nXMEMSEL is active. 1: Enable RAM merge 0: Disable RAM merge XROM Merge Enable (Bit 12) The XROM Merge Enable bit will enable or disable the ROM merge feature. When the ROM merge feature is enabled, the nXROMSEL will be active when ever the nXMEMSEL is active. 1: Enable ROM merge 0: Disable ROM merge XMEM Width Select (Bit 11) The XMEM Width Select bit selects the extended memory width. 1: Extended memory = 8 0: Extended memory = 16 XMEM Wait Select (Bits [10:8]) The XMEM Wait Select field selects the extended memory wait state from 0 to 7. XROM Width Select (Bit 7) The XROM Width Select bit selects the external ROM width. 1: External memory = 8 0: External memory = 16 XROM Wait Select (Bits[6:4]) The XROM Wait Select field selects the external ROM wait state from 0 to 7.
Document #: 38-08015 Rev. *E
Page 40 of 119
CY7C67300
XRAM Width Select (Bit 3) The XRAM Width Select bit selects the external RAM width. 1: External memory = 8 0: External memory = 16 XRAM Wait Select (Bits[2:0]) The XRAM Wait Select field selects the external RAM wait state from 0 to 7. Reserved All reserved bits should be written as `0'.
7.3
Timer Registers
There are three registers dedicated to timer operations. Each of these registers are discussed in this section and are summarized in Figure 7-15. Register Name Watchdog Timer Register Timer 0 Register Timer 1 Register 0xC00C 0xC010 0xC012 Figure 7-15. Timer Registers 7.3.1 Watchdog Timer Register [0xC00C] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 7 ...Reserved R/W 0 R/W 0 R/W 0 6 R/W 0 5 Time-out Flag R/W 0 R/W 0 0 4 Period Select R/W 0 15 14 13 12 Reserved... R/W R/W 0 3 R/W 0 2 Lock Enable R/W 0 R/W 0 1 WDT Enable R/W 0 R/W 0 0 Reset Strobe W 0 11 10 9 8
Address R/W R/W R/W
R/W
Figure 7-16. Watchdog Timer Register Register Description The Watchdog Timer Register provide status and control over the Watchdog timer. The Watchdog timer can also interrupt the processor. Time-out Flag (Bit 5) The Time-out Flag bit indicates if the Watchdog timer has expired. The processor can read this bit after exiting a reset to determine if a Watchdog time-out occurred. This bit will be cleared on the next external hardware reset. 1: Watchdog timer expired. 0: Watchdog timer did not expire. Period Select (Bits [4:3]) The Period Select field is defined in Table 7-5. If this time expires before the Reset Strobe bit is set, the internal processor will get reset. Table 7-5. Period Select Definition Period Select[4:3] 00 01 10 11 Document #: 38-08015 Rev. *E WDT Period Value 1.4 ms 5.5 ms 22.0 ms 66.0 ms Page 41 of 119
CY7C67300
Lock Enable (Bit 2) The Lock Enable bit will not allow any writes to this register until a reset. In doing so the Watchdog timer can be set up and enabled permanently so that it can only be cleared on reset (the WDT Enable bit is ignored). 1: Watchdog timer permanently set 0: Watchdog timer not permanently set WDT Enable (Bit 1) The WDT Enable bit enables or disables the Watchdog timer. 1: Enable Watchdog timer operation 0: Disable Watchdog timer operation Reset Strobe (Bit 0) The Reset Strobe is a write-only bit that resets the Watchdog timer count. It must be set to `1' before the count expires to avoid a Watchdog trigger 1: Reset Count Reserved All reserved bits should be written as `0'. 7.3.2 Timer n Register [R/W] * Timer 0 Register 0xC010. * Timer 1 Register 0xC012.
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 7 R/W 1 6 R/W 1 5 R/W 1 4 ...Count R/W 1 R/W 1 R/W 1 R/W 1 15 14 13 12 Count... R/W 1 3 R/W 1 2 R/W 1 1 R/W 1 0 11 10 9 8
Figure 7-17. Timer n Register Register Description The Timer n Register sets the Timer n count. Both Timer 0 and Timer 1 decrement by one every 1-s clock tick. Each can provide an interrupt to the CPU when the timer reaches zero. Count (Bits [15:0]) The Count field sets the Timer count.
7.4
General USB Registers
There is one set of registers dedicated to general USB control. This set consists of two identical registers: one for Host/Device Port 1 and one for Host/Device Port 2. This register set has functions for both USB host and USB peripheral options and is covered in this section and summarized in Figure 7-8. USB Host only registers are covered in section 4.5, and USB device-only registers are covered in section 7.2. Register Name USB n Control Register 7.4.1 USB n Control Register [R/W] * USB 1 Control Register 0xC08A. * USB 2 Control Register 0xC0AA. Address (SIE1/SIE2) 0xC08A / 0xC0AA Figure 7-18. General USB Registers R/W R/W
Document #: 38-08015 Rev. *E
Page 42 of 119
CY7C67300
Bit # Field 15 Port B D+ Status R X 7 Port A Resistors Enable R/W 0 R/W 0 14 Port B D- Status R X 6 Port B Force D State R/W 0 R/W 0 13 Port A D+ Status R X 5 12 Port A D- Status R X 4 Port A Force D State R/W 0 11 LOB 10 LOA 9 Mode Select R/W 0 1 Port B SOF/EOP Enable R/W 0 8 Port B Resistors Enable R/W 0 0 Port A SOF/EOP Enable R/W 0
Read/Write Default Bit # Field
R/W 0 3
R/W 0 2 Suspend Enable R/W 0
Read/Write Default
Figure 7-19. USB n Control Register Register Description The USB n Control Register is used in both host and device mode. It monitors and controls the SIE and the data lines of the USB ports. This register can be accessed by the HPI interface. Port B D+ Status (Bit 15) The Port B D+ Status bit is a read-only bit that indicates the value of DATA+ on Port B. 1: D+ is HIGH 0: D+ is LOW Port B D- Status (Bit 14) The Port B D- Status bit is a read-only bit that indicates the value of DATA- on Port B. 1: D- is HIGH 0: D- is LOW Port A D+ Status (Bit 13) The Port A D+ Status bit is a read-only bit that indicates the value of DATA+ on Port A. 1: D+ is HIGH 0: D+ is LOW Port A D- Status (Bit 12) The Port A D- Status bit is a read-only bit that indicates the value of DATA- on Port A. 1: D- is HIGH 0: D- is LOW LOB (Bit 11) The LOB bit selects the speed of Port B. 1: Port B is set to low-speed mode 0: Port B is set to full-speed mode LOA (Bit 10) The LOA bit selects the speed of Port A. 1: Port A is set to low-speed mode 0: Port A is set to full-speed mode Mode Select (Bit 9) The Mode Select bit sets the SIE for host or device operation. When set for device operation only one USB port is supported. The active port is selected by the Port Select bit in the Host n Count Register. 1: Host mode 0: Device mode
Document #: 38-08015 Rev. *E
Page 43 of 119
CY7C67300
Port B Resistors Enable (Bit 8) The Port B Resistors Enable bit enables or disables the pull-up/pull-down resistors on Port B. When enabled, the Mode Select bit and LOB bit of this Register will set the pull-up/pull-down resistors appropriately. When the Mode Select is set for Host mode, the pull-down resistors on the data lines (D+ and D-) are enabled. When the Mode Select is set for Device mode, a single pullup resistor on either D+ or D-, determined by the LOB bit, will be enabled. See Table 7-6 for details. 1: Enable pull-up/pull-down resistors 0: Disable pull-up/pull-down resistors Port A Resistors Enable (Bit 7) The Port A Resistors Enable bit enables or disables the pull-up/pull-down resistors on Port A. When enabled, the Mode Select bit and LOA bit of this Register will set the pull-up/pull-down resistors appropriately. When the Mode Select is set for Host mode, the pull-down resistors on the data lines (D+ and D-) are enabled. When the Mode Select is set for Device mode, a single pullup resistor on either D+ or D-, determined by the LOA bit, will be enabled. See Table 7-6 for details. 1: Enable pull-up/pull-down resistors 0: Disable pull-up/pull-down resistors Table 7-6. USB Data Line Pull-up and Pull-down Resistors L0A/L0B X X 1 0 Mode Select X 1 0 0 Port n Resistors Enable 0 1 1 1 Function Pull-up/Pull-down on D+ and D- Disabled Pull-down on D+ and D- Enabled Pull-up on USB D- Enabled Pull-up on USB D+ Enabled
Port B Force D State (Bits [6:5]) The Port B Force D State field controls the forcing state of the D+ D- data lines for Port B. This field will force the state of the Port B data lines independent of the Port Select bit setting. See Table 7-7 for details. Port A Force D State (Bits [4:3]) The Port A Force D State field controls the forcing state of the D+ D- data lines for Port A. This field will force the state of the Port A data lines independent of the Port Select bit setting. See Table 7-7 for details. Table 7-7. Port A/B Force D State Port A/B Force D State 0 0 1 1 Suspend Enable (Bit 2) The Suspend Enable bit enables or disables the suspend feature on both ports. When suspend is enabled the USB transceivers are powered down and can not transmit or received USB packets but can still monitor for a wakeup condition. 1: Enable suspend 0: Disable suspend Port B SOF/EOP Enable (Bit 1) The Port B SOF/EOP Enable bit is only applicable in host mode. In device mode this bit should be written as `0'. In host mode this bit enables or disables SOFs or EOPs for Port B. Either SOFs or EOPs will be generated depending on the LOB bit in the USB n Control Register when Port B is active. 1: Enable SOFs or EOPs 0: Disable SOFs or EOPs Port A SOF/EOP Enable (Bit 0) 0 1 0 1 Normal Operation Force USB Reset, SE0 State Force J-State Force K-State Function
Document #: 38-08015 Rev. *E
Page 44 of 119
CY7C67300
The Port A SOF/EOP Enable bit is only applicable in host mode. In device mode this bit should be written as `0'. In host mode this bit enables or disables SOFs or EOPs for Port A. Either SOFs or EOPs will be generated depending on the LOA bit in the USB n Control Register when Port A is active. 1: Enable SOFs or EOPs 0: Disable SOFs or EOPs Reserved All reserved bits should be written as `0'.
7.5
USB Host Only Registers
There are twelve sets of dedicated registers for USB host only operation. Each set consists of two identical registers (unless otherwise noted), one for Host Port 1 and one for Host Port 2. These register sets are covered in this section and summarized in Figure 7-20. Register Name Host n Control Register Host n Address Register Host n Count Register Host n Endpoint Status Register Host n PID Register Host n Count Result Register Host n Device Address Register Host n Interrupt Enable Register Host n Status Register Host n SOF/EOP Count Register Host n SOF/EOP Counter Register Host n Frame Register Address (Host 1 / Host 2) 0xC080 / 0xC0A0 0xC082 / 0xC0A2 0xC084 / 0xC0A4 0xC086 / 0xC0A6 0xC086 / 0xC0A6 0xC088 / 0xC0A8 0xC088 / 0xC0A8 0xC08C / 0xC0AC 0xC090 / 0xC0B0 0xC092 / 0xC0B2 0xC094 / 0xC0B4 0xC096 / 0xC0B6 Figure 7-20. USB Host Only Register 7.5.1 Host n Control Register [R/W] * Host 1 Control Register 0xC080. * Host 2 Control Register 0xC0A0.
Bit # Field Read/Write Default Bit # Field Read/Write Default 0 7 Preamble Enable R/W 0 0 6 Sequence Select R/W 0 0 5 Sync Enable R/W 0 0 4 ISO Enable R/W 0 0 15 14 13 12 Reserved 0 3 0 2 Reserved 0 0 0 1 0 0 Arm Enable R/W 0 11 10 9 8
R/W R/W R/W R/W R W R W R/W R/W R/W R R
Figure 7-21. Host n Control Register Register Description The Host n Control Register allows high-level USB transaction control. Preamble Enable (Bit 7) The Preamble Enable bit enables or disables the transmission of a preamble packet before all low speed packets. This bit should only be set when communicating with a low-speed device. 1: Enable Preamble packet 0: Disable Preamble packet
Document #: 38-08015 Rev. *E
Page 45 of 119
CY7C67300
Sequence Select (Bit 6) The Sequence Select bit sets the data toggle for the next packet. This bit has no effect on receiving data packets, sequence checking must be handled in firmware. 1: Send DATA1 0: Send DATA0 Sync Enable (Bit 5) The Sync Enable bit will synchronize the transfer with the SOF packet in full speed mode and the EOP packet in low-speed mode. 1: The next enabled packet will be transferred after the SOF or EOP packet is transmitted 0: The next enabled packet will be transferred as soon as the SIE is free ISO Enable (Bit 4) The ISO Enable bit enables or disables an Isochronous transaction. 1: Enable Isochronous transaction 0: Disable Isochronous transaction Arm Enable (Bit 0) The Arm Enable bit arms an endpoint and starts a transaction. This bit is automatically cleared to `0' when a transaction is complete. 1: Arm endpoint and begin transaction 0: Endpoint disarmed Reserved All reserved bits should be written as `0'. 7.5.2 Host n Address Register [R/W] * Host 1 Address Register 0xC082. * Host 2 Address Register 0xC0A2.
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 7 R/W 0 6 R/W 0 5 R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 15 14 13 12 Address... R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Figure 7-22. Host n Address Register Register Description The Host n Address Register is used as the base pointer into memory space for the current host transactions. Address (Bits [15:0]) The Address field sets the address pointer into internal RAM or ROM. 7.5.3 Host n Count Register [R/W] * Host 1 Count Register 0xC084. * Host 2 Count Register 0xC0A4.
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 15 Reserved 0 7 14 Port Select R/W 0 6 0 5 0 4 ...Count R/W 0 R/W 0 R/W 0 R/W 0 13 12 Reserved 0 3 0 2 R/W 0 1 11 10 9 Count... R/W 0 0 8
Figure 7-23. Host n Count Register Document #: 38-08015 Rev. *E Page 46 of 119
CY7C67300
Register Description The Host n Count Register is used to hold the number of bytes (packet length) for the current transaction. The maximum packet length is 1023 bytes in ISO mode. The Host Count value is used to determine how many bytes to transmit, or the maximum number of bytes to receive. If the number of received bytes is greater then the Host Count value then an overflow condition will be flagged by the Overflow bit in the Host n Endpoint Status Register. Port Select (Bit 14) The Port Select bit selects which of the two active ports is selected and is summarized in Table 7-8. 1: Port 1B or Port 2B is enabled 0: Port 1A or Port 2A is enabled Table 7-8. Port Select Definition Port Select 0 1 Count (Bits [9:0]) The Count field sets the value for the current transaction data packet length. This value is retained when switching between host and device mode, and back again. Reserved All reserved bits should be written as `0'. 7.5.4 Host n Endpoint Status Register [R] * Host 1 Endpoint Status Register 0xC086. * Host 2 Endpoint Status Register 0xC0A6.
Bit # Field Read/Write Default Bit # Field Read/Write Default 0 7 Stall Flag R 0 0 6 NAK Flag R 0 15 14 Reserved 0 5 Length Exception Flag R 0 0 4 Reserved 0 13 12 11 Overflow Flag R 0 3 Sequence Status R 0 10 Underflow Flag R 0 2 Time-out Flag R 0 0 1 Error Flag R 0 9 Reserved 0 0 ACK Flag R 0 8
Host/Device 1 Active Port A B
Host/Device 2 Active Port A B
Figure 7-24. Host n Endpoint Status Register Register Description The Host n Endpoint Status Register is a read-only register that provides status for the last USB transaction. Overflow Flag (Bit 11) The Overflow Flag bit indicates that the received data in the last data transaction exceeded the maximum length specified in the Host n Count Register. The Overflow Flag should be checked in response to a Length Exception signified by the Length Exception Flag set to `1'. 1: Overflow condition occurred 0: Overflow condition did not occur Underflow Flag (Bit 10) The Underflow Flag bit indicates that the received data in the last data transaction was less then the maximum length specified in the Host n Count Register. The Underflow Flag should be checked in response to a Length Exception signified by the Length Exception Flag set to `1'. 1: Underflow condition occurred 0: Underflow condition did not occur Document #: 38-08015 Rev. *E Page 47 of 119
CY7C67300
Stall Flag (Bit 7) The Stall Flag bit indicates that the peripheral device replied with a Stall in the last transaction. 1: Device returned Stall 0: Device did not return Stall NAK Flag (Bit 6) The NAK Flag bit indicates that the peripheral device replied with a NAK in the last transaction. 1: Device returned NAK 0: Device did not return NAK Length Exception Flag (Bit 5) The Length Exception Flag bit indicates the received data in the data stage of the last transaction does not equal the maximum Host Count specified in the Host n Count Register. A Length Exception can either mean an overflow or underflow and the Overflow and Underflow flags (bits 11 and 10 respectively) should be checked to determine which event occurred. 1: An overflow or underflow condition occurred 0: An overflow or underflow condition did not occur Sequence Status (Bit 3) The Sequence Status bit indicates the state of the last received data toggle from the device. Firmware is responsible for monitoring and handling the sequence status. The Sequence bit is only valid if the ACK bit is set to `1'. The Sequence bit is set to `0' when an error is detected in the transaction and the Error bit will be set. 1: DATA1 0: DATA0 Time-out Flag (Bit 2) The Time-out Flag bit indicates if a timeout condition occurred for the last transaction. A time-out condition can occur when a device either takes too long to respond to a USB host request or takes too long to respond with a handshake. 1: Time-out occurred 0: Time-out did not occur Error Flag (Bit 1) The Error Flag bit indicates a transaction failed for any reason other than the following: Time-out, receiving a NAK, or receiving a STALL. Overflow and Underflow are not considered errors and do not affect this bit. CRC5 and CRC16 errors will result in an Error flag along with receiving incorrect packet types. 1: Error detected 0: No error detected ACK Flag (Bit 0) The ACK Flag bit indicates two different conditions depending on the transfer type. For non-Isochronous transfers, this bit represents a transaction ending by receiving or sending an ACK packet. For Isochronous transfers, this bit represents a successful transaction which will not be represented by an ACK packet. 1: For non-Isochronous transfers, the transaction was ACKed. For Isochronous transfers, the transaction was completed successfully 0: For non-Isochronous transfers, the transaction was not ACKed. For Isochronous transfers, the transaction did not completed successfully 7.5.5 Host n PID Register [W] * Host 1 PID Register 0xC086. * Host 2 PID Register 0xC0A6.
Document #: 38-08015 Rev. *E
Page 48 of 119
CY7C67300
Bit # Field Read/Write Default Bit # Field Read/Write Default W 0 W 0 0 7 0 6 PID Select W 0 W 0 W 0 0 5 0 4 15 14 13 12 Reserved 0 3 0 2 W 0 0 1 W 0 0 0 W 0 11 10 9 8
Endpoint Select
Figure 7-25. Host n PID Register Register Description The Host n PID Register is a write-only register that provides the PID and Endpoint information to the USB SIE to be used in the next transaction. PID Select (Bits [7:4]) The PID Select field defined as in Table 7-9. ACK and NAK tokens are automatically sent based on settings in the Host n Control Register and do not need to be written in this register. Table 7-9. PID Select Definition PID TYPE SETUP IN OUT SOF PREAMBLE NAK STALL DATA0 DATA1 Endpoint Select (Bits [3:0]) The Endpoint field, which allows addressing up to 16 different endpoints. Reserved All reserved bits should be written as `0'. 7.5.6 Host n Count Result Register [R] * Host 1 Count Result Register 0xC088. * Host 2 Count Result Register 0xC0A8.
Bit # Field Read/Write Default R 0 R 0 R 0 R 0 15 14 13 12 Result... R 0 R 0 R 0 R 0 11 10 9 8
PID Select [7:4] 1101 (D Hex) 1001 (9 Hex) 0001 (1 Hex) 0101 (5 Hex) 1100 (C Hex) 1010 (A Hex) 1110 (E Hex) 0011 (3 Hex) 1011 (B Hex)
Bit # Field Read/Write Default
7 R 0
6 R 0
5 R 0
4 ...Result R 0
3 R 0
2 R 0
1 R 0
0 R 0
Figure 7-26. Host n Count Result Register
Document #: 38-08015 Rev. *E
Page 49 of 119
CY7C67300
Register Description The Host n Count Result Register is a read-only register that contains the size difference in bytes between the Host Count Value specified in the Host n Count Register and the last packet received. If an overflow or underflow condition occurs, i.e., the received packet length differs from the value specified in the Host n Count Register, the Length Exception Flag bit in the Host n Endpoint Status Register will be set. The value in this register is only value when the Length Exception Flag bit is set and the Error Flag bit is not set, both bits are in the Host n Endpoint Status Register. Result (Bits [15:0]) The Result field will contain the differences in bytes between the received packet and the value specified in the Host n Count Register. If an overflow condition occurs, Result [15:10] will be set to `111111', a 2's complement value indicating the additional byte count of the received packet. If an underflow condition occurs, Result [15:0] will indicate the excess bytes count (number of bytes not used). Reserved All reserved bits should be written as `0'. 7.5.7 Host n Device Address Register [W] * Host 1 Device Address Register 0xC088. * Host 2 Device Address Register 0xC0A8.
Bit # Field Read/Write Default Bit # Field Read/Write Default 0 7 ...Reserved 0 W 0 W 0 W 0 0 6 0 5 0 4 15 14 13 12 Reserved... 0 3 Address W 0 W 0 W 0 W 0 0 2 0 1 0 0 11 10 9 8
Figure 7-27. Host n Device Address Register Register Description The Host n Device Address Register is a write-only register that contains the USB Device Address that the host wishes to communicate with. Address (Bits [6:0]) The Address field contains the value of the USB address for the next device that the host is going to communicate with. This value needs to be written by firmware. Reserved All reserved bits should bit written as `0'. 7.5.8 Host n Interrupt Enable Register [R/W] * Host 1 Interrupt Enable Register 0xC08C. * Host 2 Interrupt Enable Register 0xC0AC.
Bit # Field 15 VBUS Interrupt Enable R/W 0 7 14 ID Interrupt Enable R/W 0 6 0 5 Port B Connect Change Interrupt Enable R/W 0 0 4 Port A Connect Change Interrupt Enable R/W 0 0 13 12 Reserved 11 10 9 SOF/EOP Interrupt Enable 0 3 0 2 Reserved R/W 0 1 8 Reserved
Read/Write Default Bit # Field
0 0 Done Interrupt Enable
Port B Port A Wake Interrupt Wake Interrupt Enable Enable R/W 0 R/W 0
Read/Write Default
0
0
R/W 0
Figure 7-28. Host n Interrupt Enable Register Document #: 38-08015 Rev. *E Page 50 of 119
CY7C67300
Register Description The Host n Interrupt Enable Register will allow control over host related interrupts. In this register a bit set to `1' enables the corresponding interrupt while `0' disables the interrupt. VBUS Interrupt Enable (Bit 15) The VBUS Interrupt Enable bit will enable or disable the OTG VBUS interrupt. When enabled this interrupt will trigger on both rising and falling edge of VBUS at the 4.4V status (only supported in Port 1A). This bit is only available for Host 1 and is a reserved bit in Host 2. 1: Enable VBUS interrupt 0: Disable VBUS interrupt ID Interrupt Enable (Bit 14) The ID Interrupt Enable bit will enable or disable the OTG ID interrupt. When enabled this interrupt will trigger on both rising and falling edge of OTG ID pin (only supported in Port 1A). This bit is only available for Host 1 and is a reserved bit in Host 2. 1: Enable ID interrupt 0: Disable ID interrupt SOF/EOP Interrupt Enable (Bit 9) The SOF/EOP Interrupt Enable bit will enable or disable the SOF/EOP timer interrupt 1: Enable SOF/EOP timer interrupt 0: Disable SOF/EOP timer interrupt Port B Wake Interrupt Enable (Bit 7) The Port B Wake Interrupt Enable bit will enable or disable the remote wakeup interrupt for Port B 1: Enable remote wakeup interrupt for Port B 0: Disable remote wakeup interrupt for Port B Port A Wake Interrupt Enable (Bit 6) The Port A Wake Interrupt Enable bit will enable or disable the remote wakeup interrupt for Port A 1: Enable remote wakeup interrupt for Port A 0: Disable remote wakeup interrupt for Port A Port B Connect Change Interrupt Enable (Bit 5) The Port B Connect Change Interrupt Enable bit will enable or disable the Port B Connect Change interrupt on Port B. This interrupt will trigger when either a device is inserted (SE0 state to J state) or a device is removed (J state to SE0 state). 1: Enable Connect Change interrupt 0: Disable Connect Change interrupt Port A Connect Change Interrupt Enable (Bit 4) The Port A Connect Change Interrupt Enable bit will enable or disable the Connect Change interrupt on Port A. This interrupt will trigger when either a device is inserted (SE0 state to J state) or a device is removed (J state to SE0 state). 1: Enable Connect Change interrupt 0: Disable Connect Change interrupt Done Interrupt Enable (Bit 0) The Done Interrupt Enable bit enables or disables the USB Transfer Done interrupt. The USB Transfer Done will trigger when either the host responding with and ACK, or a device responds with any of the following: ACK, NAK, STALL, or Time-out. This interrupt is used for both Port A and Port B. 1: Enable USB Transfer Done interrupt 0: Disable USB Transfer Done interrupt Reserved All reserved bits should be written as `0'.
Document #: 38-08015 Rev. *E
Page 51 of 119
CY7C67300
7.5.9 Host n Status Register [R/W] * Host 1 Status Register 0xC090. * Host 2 Status Register 0xC0B0.
Bit # Field Read/Write Default Bit # Field 7 Port B Wake Interrupt Flag R/W X 15 VBUS Interrupt Flag R/W X 6 Port A Wake Interrupt Flag R/W X 14 ID Interrupt Flag R/W X 5 X X 4 13 12 Reserved X 3 Port B SE0 Status R/W X X 2 Port A SE0 Status R/W X 11 10 9 SOF/EOP Interrupt Flag R/W X 1 Reserved 8 Reserved X 0 Done Interrupt Flag R/W X
Port B Connect Port A Connect Change Change Interrupt Interrupt Flag Flag R/W X R/W X
Read/Write Default
X
Figure 7-29. Host n Status Register Register Description The Host n Status Register will provide status information for host operation. Pending interrupts can be cleared by writing a `1' to the corresponding bit. This register can be accessed by the HPI interface. VBUS Interrupt Flag (Bit 15) The VBUS Interrupt Flag bit indicates the status of the OTG VBUS interrupt (only for Port 1A). When enabled this interrupt will trigger on both the rising and falling edge of VBUS at 4.4V. This bit is only available for Host 1 and is a reserved bit in Host 2. 1: Interrupt triggered 0: Interrupt did not trigger ID Interrupt Flag (Bit 14) The ID Interrupt Flag bit indicates the status of the OTG ID interrupt (only for Port 1A). When enabled this interrupt will trigger on both the rising and falling edge of the OTG ID pin. This bit is only available for Host 1 and is a reserved bit in Host 2. 1: Interrupt triggered 0: Interrupt did not trigger SOF/EOP Interrupt Flag (Bit 9) The SOF/EOP Interrupt Flag bit indicates the status of the SOF/EOP Timer interrupt. This bit will trigger `1' when the SOF/EOP timer expires. 1: Interrupt triggered 0: Interrupt did not trigger Port B Wake Interrupt Flag (Bit 7) The Port B Wake Interrupt Flag bit indicates remote wakeup on PortB 1: Interrupt triggered 0: Interrupt did not trigger Port A Wake Interrupt Flag (Bit 6) The Port A Wake Interrupt Flag bit indicates remote wakeup on PortA 1: Interrupt triggered 0: Interrupt did not trigger Port B Connect Change Interrupt Flag (Bit 5) The Port B Connect Change Interrupt Flag bit indicates the status of the Connect Change interrupt on Port B. This bit will trigger `1' on either a rising edge or falling edge of a USB Reset condition (device inserted or removed). Together with the Port B SE0 Status bit, it can be determined whether a device was inserted or removed. 1: Interrupt triggered 0: Interrupt did not trigger
Document #: 38-08015 Rev. *E
Page 52 of 119
CY7C67300
Port A Connect Change Interrupt Flag (Bit 4) The Port A Connect Change Interrupt Flag bit indicates the status of the Connect Change interrupt on Port A. This bit will trigger `1' on either a rising edge or falling edge of a USB Reset condition (device inserted or removed). Together with the Port A SE0 Status bit, it can be determined whether a device was inserted or removed. 1: Interrupt triggered 0: Interrupt did not trigger Port B SE0 Status (Bit 3) The Port B SE0 Status bit indicates if Port B is in a SE0 state or not. Together with the Port B Connect Change Interrupt Flag bit, it can be determined whether a device was inserted (non-SE0 condition) or removed (SE0 condition). 1: SE0 condition 0: Non-SE0 condition Port A SE0 Status (Bit 2) The Port A SE0 Status bit indicates if Port A is in a SE0 state or not. Together with the Port A Connect change Interrupt Flag bit, it can be determined whether a device was inserted (non-SE0 condition) or removed (SE0 condition). 1: SE0 condition 0: Non-SE0 condition Done Interrupt Flag (Bit 0) The Done Interrupt Flag bit indicates the status of the USB Transfer Done interrupt. The USB Transfer Done will trigger when either the host responding with and ACK, or a device responds with any of the following: ACK, NAK, STALL, or Time-out. This interrupt is used for both Port A and Port B. 1: Interrupt triggered 0: Interrupt did not trigger 7.5.10 Host n SOF/EOP Count Register [R/W] * Host 1 SOF/EOP Count Register 0xC092 * Host 2 SOF/EOP Count Register 0xC0B2
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 1 R/W 1 R/W 1 R/W 0 0 7 15 Reserved 0 6 R/W 1 5 R/W 0 4 ...Count R/W 0 R/W 0 R/W 0 R/W 0 R/W 1 3 14 13 12 11 Count... R/W 1 2 R/W 1 1 R/W 0 0 10 9 8
Figure 7-30. Host n SOF/EOP Count Register Register Description The Host n SOF/EOP Count Register contains the SOF/EOP Count Value that is loaded into the SOF/EOP counter. This value is loaded each time the SOF/EOP counter counts down to zero. The default value set in this register at power up is 0x2EE0 which will generate a 1ms time frame. The SOF/EOP counter is a down counter decremented at a 12-MHz rate. When this register is read, the value returned is the programmed SOF/EOP count value. Count (Bits [13:0]) The Count field sets the SOF/EOP counter duration. Reserved All reserved bits should be written as `0'. 7.5.11 Host n SOF/EOP Counter Register [R] * Host 1 SOF/EOP Counter Register 0xC094 * Host 2 SOF/EOP Counter Register 0xC0B4
Document #: 38-08015 Rev. *E
Page 53 of 119
CY7C67300
Bit # Field Read/Write Default Bit # Field Read/Write Default R X R X R X R X X 7 15 Reserved X 6 R X 5 R X 4 ...Counter R X R X R X R X R X 3 14 13 12 11 Counter... R X 2 R X 1 R X 0 10 9 8
Figure 7-31. Host n SOF/EOP Counter Register Register Description The Host n SOF/EOP Counter Register contains the current value of the SOF/EOP down counter. This value can be used to determine the time remaining in the current frame. Counter (Bits [13:0]) The Counter field contains the current value of the SOF/EOP down counter. 7.5.12 Host n Frame Register [R] * Host 1 Frame Register 0xC096 * Host 2 Frame Register 0xC0B6
Bit # Field Read/Write Default Bit # Field Read/Write Default R 0 R 0 R 0 R 0 0 7 0 6 15 14 13 Reserved 0 5 0 4 ...Frame R 0 R 0 R 0 R 0 0 3 R 0 2 12 11 10 9 Frame... R 0 1 R 0 0 8
Figure 7-32. Host n Frame Register Register Description The Host n Frame Register maintains the next frame number to be transmitted (current frame number + 1). This value is updated after each SOF transmission. This register resets to 0x0000 after each CPU write to the Host n SOF/EOP Count Register (Host 1: 0xC092 Host 2: 0xC0B2). Frame (Bits [10:0]) The Frame field contains the next frame number to be transmitted. Reserved All reserved bits should be written as `0'.
7.6
USB Device Only Registers
There are eleven sets of USB Device only registers. All sets consist of at least two registers, one for Device Port 1 and one for Device Port 2. In addition, each Device port has eight possible endpoints. This gives each endpoint register set eight registers for each Device Port for a total of sixteen registers per set. The USB Device only registers are covered in this section and summarized in Figure 7-33.
Document #: 38-08015 Rev. *E
Page 54 of 119
CY7C67300
Register Name Device n Endpoint n Control Register Device n Endpoint n Address Register Device n Endpoint n Count Register Device n Endpoint n Status Register Device n Endpoint n Count Result Register Device n Port Select Register Device n Interrupt Enable Register Device n Address Register Device n Status Register Device n Frame Number Register Device n SOF/EOP Count Register Address (Device 1 / Device 2) 0x02n0 0x02n2 0x02n4 0x02n6 0x02n8 0xC084 / 0xC0A4 0xC08C / 0xC0AC 0xC08E / 0xC0AE 0xC090 / 0xCB0 0xC092 / 0xC0B2 0xC094 / 0xC0B4 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R W
Figure 7-33. USB Device Only Registers 7.6.1 Device n Endpoint n Control Register [R/W] * Device n Endpoint 0 Control Register [Device 1: 0x0200 Device 2: 0x0280] * Device n Endpoint 1 Control Register [Device 1: 0x0210 Device 2: 0x0290] * Device n Endpoint 2 Control Register [Device 1: 0x0220 Device 2: 0x02A0] * Device n Endpoint 3 Control Register [Device 1: 0x0230 Device 2: 0x02B0] * Device n Endpoint 4 Control Register [Device 1: 0x0240 Device 2: 0x02C0] * Device n Endpoint 5 Control Register [Device 1: 0x0250 Device 2: 0x02D0] * Device n Endpoint 6 Control Register [Device 1: 0x0260 Device 2: 0x02E0] * Device n Endpoint 7 Control Register [Device 1: 0x0270 Device 2: 0x02F0]
Bit # Field Read/Write Default Bit # Field X 7 IN/OUT Ignore Enable R/W X X 6 Sequence Select R/W X X 5 Stall Enable R/W X X 4 ISO Enable R/W X 15 14 13 12 Reserved X 3 NAK Interrupt Enable R/W X X 2 Direction Select R/W X X 1 Enable X 0 Arm Enable R/W X 11 10 9 8
Read/Write Default
R/W X
Figure 7-34. Device n Endpoint n Control Register Register Description The Device n Endpoint n Control Register provides control over a single EP in device mode. There are a total of eight endpoints for each of the two ports. All endpoints have the same definition for their Device n Endpoint n Control Register. IN/OUT Ignore Enable (Bit 6) The IN/OUT Ignore Enable bit will force endpoint 0 (EP0) to ignore all IN and OUT requests. This bit should be set so that EP0 only excepts Setup packets at the start of each transfer. This bit must be cleared to except IN/OUT transactions. This bit only applies to EP0. 1: Ignore IN/OUT requests 0: Do not ignore IN/OUT requests Sequence Select (Bit 6) The Sequence Select bit will determine whether a DATA0 or a DATA1 will be sent for the next data toggle. This bit has no effect on receiving data packets, sequence checking must be handled in firmware. 1: Send a DATA1 0: Send a DATA0
Document #: 38-08015 Rev. *E
Page 55 of 119
CY7C67300
Stall Enable (Bit 5) The Stall Enable bit will send a Stall in response to the next request (unless it is a set-up request which are always ACKed). This is a sticky bit and will continue to respond with Stalls until cleared by firmware. 1: Send Stall 0: Do not send Stall ISO Enable (Bit 4) The ISO Enable bit enables and disables an Isochronous transaction. This bit is only valid for EPs 1-7 and has no function for EP0. 1: Enable Isochronous transaction 0: Disable Isochronous transaction NAK Interrupt Enable (Bit 3) The NAK Interrupt Enable bit enables and disables the generation of an Endpoint n interrupt when the device responds to the host with a NAK. The Endpoint n Interrupt Enable bit in the Device n Interrupt Enable Register must also be set. When a NAK is sent to the host, the corresponding EP Interrupt Flag in the Device n Status Register will be set. In addition, the NAK Flag in the Device n Endpoint n Status Register will be set. 1: Enable NAK interrupt 0: Disable NAK interrupt Direction Select (Bit 2) The Direction Select bit needs to be set according to the expected direction of the next data stage in the next transaction. If the data stage direction is different from what is set it this bit, it will get NAKed and either the IN Exception Flag or the OUT Exception Flag will be set in the Device n Endpoint n Status Register. If a set-up packet is received and the Direction Select bit is set incorrectly, the set-up will get ACKed and the Set-up Status Flag will be set (please refer to the set-up bit of the Device n Endpoint n Status Register for details). 1: OUT transfer (host to device) 0: IN transfer (device to host) Enable (Bit 1) The Enable bit must be set to allow transfers to the endpoint. If Enable is set to `0' then all USB traffic to this endpoint will be ignored. If Enable is set `1' and Arm Enable (bit 0) is set `0' then NAKs will automatically be returned from this endpoint (except setup packets which are always ACKed as long as the Enable bit is set.) 1: Enable transfers to an endpoint 0: Do not allow transfers to an endpoint Arm Enable (Bit 0) The Arm Enable bit arms the endpoint to transfer or receive a packet. This bit is cleared to `0' when a transaction is complete. 1: Arm endpoint 0: Endpoint disarmed Reserved All reserved bits should bit written as `0'. 7.6.2 Device n Endpoint n Address Register [R/W] * Device n Endpoint 0 Address Register [Device 1: 0x0202 Device 2: 0x0282] * Device n Endpoint 1 Address Register [Device 1: 0x0212 Device 2: 0x0292] * Device n Endpoint 2 Address Register [Device 1: 0x0222 Device 2: 0x02A2] * Device n Endpoint 3 Address Register [Device 1: 0x0232 Device 2: 0x02B2] * Device n Endpoint 4 Address Register [Device 1: 0x0242 Device 2: 0x02C2] * Device n Endpoint 5 Address Register [Device 1: 0x0252 Device 2: 0x02D2] * Device n Endpoint 6 Address Register [Device 1: 0x0262 Device 2: 0x02E2] * Device n Endpoint 7 Address Register [Device 1: 0x0272 Device 2: 0x02F2]
Document #: 38-08015 Rev. *E
Page 56 of 119
CY7C67300
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W X R/W X R/W X R/W X R/W X 7 R/W X 6 R/W X 5 R/W X 4 ...Address R/W X R/W X R/W X R/W X 15 14 13 12 Address... R/W X 3 R/W X 2 R/W X 1 R/W X 0 11 10 9 8
Figure 7-35. Device n Endpoint n Address Register Register Description The Device n Endpoint n Address Register is used as the base pointer into memory space for the current Endpoint transaction. There are a total of eight endpoints for each of the two ports. All endpoints have the same definition for their Device n Endpoint n Address Register. Address (Bits [15:0]) The Address field sets the base address for the current transaction on a signal endpoint. 7.6.3 Device n Endpoint n Count Register [R/W] * Device n Endpoint 0 Count Register [Device 1: 0x0204 Device 2: 0x0284] * Device n Endpoint 1 Count Register [Device 1: 0x0214 Device 2: 0x0294] * Device n Endpoint 2 Count Register [Device 1: 0x0224 Device 2: 0x02A4] * Device n Endpoint 3 Count Register [Device 1: 0x0234 Device 2: 0x02B4] * Device n Endpoint 4 Count Register [Device 1: 0x0244 Device 2: 0x02C4] * Device n Endpoint 5 Count Register [Device 1: 0x0254 Device 2: 0x02D4] * Device n Endpoint 6 Count Register [Device 1: 0x0264 Device 2: 0x02E4] * Device n Endpoint 7 Count Register [Device 1: 0x0274 Device 2: 0x02F4]
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W X R/W X R/W X R/W X X 7 X 6 X 5 15 14 13 Reserved X 4 ...Count R/W X R/W X R/W X R/W X X 3 X 2 R/W X 1 12 11 10 9 Count... R/W X 0 8
Figure 7-36. Device n Endpoint n Count Register Register Description The Device n Endpoint n Count Register designates the maximum packet size that can be received from the host for OUT transfers for a single endpoint. This register also designates the packet size to be sent to the host in response to the next IN token for a single endpoint. The maximum packet length is 1023 bytes in ISO mode. There are a total of eight endpoints for each of the two ports. All endpoints have the same definition for their Device n Endpoint n Count Register. Count (Bits [9:0]) The Count field sets the current transaction packet length for a single endpoint. Reserved All reserved bits should be written as `0'. 7.6.4 Device n Endpoint n Status Register [R/W] * Device n Endpoint 0 Status Register [Device 1: 0x0206 Device 2: 0x0286] * Device n Endpoint 1 Status Register [Device 1: 0x0216 Device 2: 0x0296] Document #: 38-08015 Rev. *E Page 57 of 119
CY7C67300
* * * * * * Device n Endpoint 2 Status Register [Device 1: 0x0226 Device 2: 0x02A6] Device n Endpoint 3 Status Register [Device 1: 0x0236 Device 2: 0x02B6] Device n Endpoint 4 Status Register [Device 1: 0x0246 Device 2: 0x02C6] Device n Endpoint 5 Status Register [Device 1: 0x0256 Device 2: 0x02D6] Device n Endpoint 6 Status Register [Device 1: 0x0266 Device 2: 0x02E6] Device n Endpoint 7 Status Register [Device 1: 0x0276 Device 2: 0x02F6]
Bit # Field Read/Write Default Bit # Field Read/Write Default X 7 Stall Flag R/W X X 6 NAK Flag R/W X 15 14 Reserved X 5 Length Exception Flag R/W X X 4 Set-up Flag R/W X 13 12 11 Overflow Flag R/W X 3 Sequence Flag R/W X 10 Underflow Flag R/W X 2 Time-out Flag R/W X 9 8
OUT IN Exception Flag Exception Flag R/W X 1 Error Flag R/W X R/W X 0 ACK Flag R/W X
Figure 7-37. Device n Endpoint n Status Register Register Description The Device n Endpoint n Status Register provides packet status information for the last transaction received or transmitted. This register is updated in hardware and does not need to be cleared by firmware. There are a total of eight endpoints for each of the two ports. All endpoints have the same definition for their Device n Endpoint n Status Register. The Device n Endpoint n Status Register is a memory based register that should be initialized to 0x0000 before USB Device operations are initiated. After initialization, this register should not be written to again. Overflow Flag (Bit 11) The Overflow Flag bit indicates that the received data in the last data transaction exceeded the maximum length specified in the Device n Endpoint n Count Register. The Overflow Flag should be checked in response to a Length Exception signified by the Length Exception Flag set to `1'. 1: Overflow condition occurred 0: Overflow condition did not occur Underflow Flag (Bit 10) The Underflow Flag bit indicates that the received data in the last data transaction was less then the maximum length specified in the Device n Endpoint n Count Register. The Underflow Flag should be checked in response to a Length Exception signified by the Length Exception Flag set to `1'. 1: Underflow condition occurred 0: Underflow condition did not occur OUT Exception Flag (Bit 9) The OUT Exception Flag bit will indicates when the device received an OUT packet when armed for an IN. 1: Received OUT when armed for IN 0: Received IN when armed for IN IN Exception Flag (Bit 8) The IN Exception Flag bit will indicates when the device received an IN packet when armed for an OUT. 1: Received IN when armed for OUT 0: Received OUT when armed for OUT Stall Flag (Bit 7) The Stall Flag bit indicates that a Stall packet was sent to the host. 1: Stall packet was sent to the host 0: Stall packet was not sent
Document #: 38-08015 Rev. *E
Page 58 of 119
CY7C67300
NAK Flag (Bit 6) The NAK Flag bit indicates that a NAK packet was sent to the host. 1: NAK packet was sent to the host 0: NAK packet was not sent Length Exception Flag (Bit 5) The Length Exception Flag bit indicates the received data in the data stage of the last transaction does not equal the maximum Endpoint Count specified in the Device n Endpoint n Count Register. A Length Exception can either mean an overflow or underflow and the Overflow and Underflow flags (bits 11 and 10 respectively) should be checked to determine which event occurred. 1: An overflow or underflow condition occurred 0: An overflow or underflow condition did not occur Set-up Flag (Bit 4) The Set-up Flag bit indicates that a set-up packet was received. In device mode set-up packets get stored at memory location 0x0300 for Device 1 and 0x0308 for Device 2. Set-up packets are always accepted regardless of the Direction Select and Arm Enable bit settings as long as the Device n EP n Control Register Enable bit is set. 1: Set-up packet was received 0: Set-up packet was not received Sequence Flag (Bit 3) The Sequence Flag bit indicates whether the last data toggle received was a DATA1 or a DATA0. This bit has no effect on receiving data packets, sequence checking must be handled in firmware. 1: DATA1 was received 0: DATA0 was received Time-out Flag (Bit 2) The Time-out Flag bit indicates whether a time-out condition occurred on the last transaction. On the device side, a time-out can occur if the device sends a data packet in response to an IN request but then does not receive a handshake packet in a predetermined time. It can also occur if the device does not receive the data stage of an OUT transfer in time. 1: Time-out occurred 0: Time-out condition did not occur Error Flag (Bit 2) The Error Flag bit will be set if a CRC5 and CRC16 error occurs, or if an incorrect packet type is received. Overflow and underflow are not considered errors and do not affect this bit. 1: Error occurred 0: Error did not occur ACK Flag (Bit 0) The ACK Flag bit indicates whether the last transaction was ACKed. 1: ACK occurred 0: ACK did not occur 7.6.5 Device n Endpoint n Count Result Register [R/W] * Device n Endpoint 0 Count Result Register [Device 1: 0x0208 Device 2: 0x0288] * Device n Endpoint 1 Count Result Register [Device 1: 0x0218 Device 2: 0x0298] * Device n Endpoint 2 Count Result Register [Device 1: 0x0228 Device 2: 0x02A8] * Device n Endpoint 3 Count Result Register [Device 1: 0x0238 Device 2: 0x02B8] * Device n Endpoint 4 Count Result Register [Device 1: 0x0248 Device 2: 0x02C8] * Device n Endpoint 5 Count Result Register [Device 1: 0x0258 Device 2: 0x02D8] * Device n Endpoint 6 Count Result Register [Device 1: 0x0268 Device 2: 0x02E8] * Device n Endpoint 7 Count Result Register [Device 1: 0x0278 Device 2: 0x02F8]
Document #: 38-08015 Rev. *E
Page 59 of 119
CY7C67300
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W X R/W X R/W X R/W X R/W X 7 R/W X 6 R/W X 5 R/W X 4 ...Result R/W X R/W X R/W X R/W X 15 14 13 12 Result... R/W X 3 R/W X 2 R/W X 1 R/W X 0 11 10 9 8
Figure 7-38. Device n Endpoint n Count Result Register Register Description The Device n Endpoint n Count Result Register contains the size difference in bytes between the Endpoint Count specified in the Device n Endpoint n Count Register and the last packet received. If an overflow or underflow condition occurs, i.e., the received packet length differs from the value specified in the Device n Endpoint n Count Register, the Length Exception Flag bit in the Device n Endpoint n Status Register will be set. The value in this register is only value when the Length Exception Flag bit is set and the Error Flag bit is not set, both bits are in the Device n Endpoint n Status Register. The Device n Endpoint n Count Result Register is a memory-based register that should be initialized to 0x0000 before USB Device operations are initiated. After initialization, this register should not be written to again. Result (Bits [15:0]) The Result field will contain the differences in bytes between the received packet and the value specified in the Device n Endpoint n Count Register. If an overflow condition occurs, Result [15:10] will be set to `111111', a "2"s complement value indicating the additional byte count of the received packet. If an underflow condition occurs, Result [15:0] will indicate the excess bytes count (number of bytes not used). Reserved All reserved bits should be written as `0'. 7.6.6 Device n Port Select Register [R/W] * Device n Port Select Register 0xC084 * Device n Port Select Register 0xC0A4
Bit # Field Read/Write Default Bit # Field Read/Write Default 0 0 0 0 15 Reserved 0 7 14 Port Select R/W 0 6 0 5 0 4 ...Reserved 0 0 0 0 0 3 13 12 11 Reserved... 0 2 0 1 0 0 10 9 8
Figure 7-39. Device n Port Select Register Register Description The Device n Port Select Register selects either port A or port B for the static device port. Port Select (Bit 14) The Port Select bit selects which of the two ports is enabled 1: Port 1B or Port 2B is enabled 0: Port 1A or Port 2A is enabled 7.6.7 Device n Interrupt Enable Register [R/W] * Device 1 Interrupt Enable Register 0xC08C * Device 2 Interrupt Enable Register 0xC0AC Document #: 38-08015 Rev. *E Page 60 of 119
CY7C67300
Bit # Field 15 VBUS Interrupt Enable R/W 0 7 EP7 Interrupt Enable R/W 0 6 EP6 Interrupt Enable R/W 0 14 ID Interrupt Enable R/W 0 0 5 EP5 Interrupt Enable R/W 0 13 12 11 SOF/EOP Time-out Interrupt Enable 0 4 EP4 Interrupt Enable R/W 0 R/W 0 3 EP3 Interrupt Enable R/W 0 10 Reserved 9 SOF/EOP Interrupt Enable R/W 0 2 EP2 Interrupt Enable R/W 0 1 EP1 Interrupt Enable R/W 0 8 Reset Interrupt Enable R/W 0 0 EP0 Interrupt Enable R/W 0
Reserved
Read/Write Default Bit # Field Read/Write Default
0
Figure 7-40. Device n Interrupt Enable Register Register Description The Device n Interrupt Enable Register provides control over device-related interrupts including eight different endpoint interrupts. VBUS Interrupt Enable (Bit 15) The VBUS Interrupt Enable bit will enable or disable the OTG VBUS interrupt. When enabled this interrupt will trigger on both rising and falling edge of VBUS at the 4.4V status (only supported in Port 1A). This bit is only available for Device 1 and is a reserved bit in Device 2. 1: Enable VBUS interrupt 0: Disable VBUS interrupt ID Interrupt Enable (Bit 14) The ID Interrupt Enable bit will enable or disable the OTG ID interrupt. When enabled this interrupt will trigger on both rising and falling edge of OTG ID pin (only supported in Port 1A). This bit is only available for Device 1and is a reserved bit in Device 2. 1: Enable ID interrupt 0: Disable ID interrupt SOF/EOP Time-out Interrupt Enable (Bit 11) The SOF/EOP Time-out Interrupt Enable bit will enable or disable the SOF/EOP Time-out Interrupt. When enabled this interrupt will trigger when the USB host fails to send a SOF or EOP packet within the time period specified in the Device n SOF/EOP Count Register. In addition, the Device n Frame Register counts the number of times the SOF/EOP Time-out Interrupt triggers between receiving SOF/EOPs. 1: SOF/EOP time-out occurred 0: SOF/EOP time-out did not occur SOF/EOP Interrupt Enable (Bit 9) The SOF/EOP Interrupt Enable bit will enable or disable the SOF/EOP received interrupt. 1: Enable SOF/EOP received interrupt 0: Disable SOF/EOP received interrupt Reset Interrupt Enable (Bit 8) The Reset Interrupt Enable bit will enable or disable the USB Reset Detected interrupt 1: Enable USB Reset Detected interrupt 0: Disable USB Reset Detected interrupt EP7 Interrupt Enable (Bit 7) The EP7 Interrupt Enable bit will enable or disable endpoint seven (EP7) Transaction Done interrupt. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the device's given Endpoint: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, the NAK Interrupt Enable bit in the Device n Endpoint Control Register can also be set so that NAK responses will trigger this interrupt. 1: Enable EP7 Transaction Done interrupt 0: Disable EP7 Transaction Done interrupt
Document #: 38-08015 Rev. *E
Page 61 of 119
CY7C67300
EP6 Interrupt Enable (Bit 6) The EP6 Interrupt Enable bit will enable or disable endpoint seven (EP6) Transaction Done interrupt. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the device's given Endpoint: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, the NAK Interrupt Enable bit in the Device n Endpoint Control Register can also be set so that NAK responses will trigger this interrupt. 1: Enable EP6 Transaction Done interrupt 0: Disable EP6 Transaction Done interrupt EP5 Interrupt Enable (Bit 5) The EP5 Interrupt Enable bit will enable or disable endpoint seven (EP5) Transaction Done interrupt. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the device's given Endpoint: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, the NAK Interrupt Enable bit in the Device n Endpoint Control Register can also be set so that NAK responses will trigger this interrupt 1: Enable EP5 Transaction Done interrupt 0: Disable EP5 Transaction Done interrupt EP4 Interrupt Enable (Bit 4) The EP4 Interrupt Enable bit will enable or disable endpoint seven (EP4) Transaction Done interrupt. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the device's given Endpoint: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, the NAK Interrupt Enable bit in the Device n Endpoint Control Register can also be set so that NAK responses will trigger this interrupt. 1: Enable EP4 Transaction Done interrupt 0: Disable EP4 Transaction Done interrupt EP3 Interrupt Enable (Bit 3) The EP3 Interrupt Enable bit will enable or disable endpoint seven (EP3) Transaction Done interrupt. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the device's given Endpoint: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, the NAK Interrupt Enable bit in the Device n Endpoint Control Register can also be set so that NAK responses will trigger this interrupt. 1: Enable EP3 Transaction Done interrupt 0: Disable EP3 Transaction Done interrupt EP2 Interrupt Enable (Bit 2) The EP2 Interrupt Enable bit will enable or disable endpoint seven (EP2) Transaction Done interrupt. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the device's given Endpoint: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, the NAK Interrupt Enable bit in the Device n Endpoint Control Register can also be set so that NAK responses will trigger this interrupt. 1: Enable EP2 Transaction Done interrupt 0: Disable EP2 Transaction Done interrupt EP1 Interrupt Enable (Bit 1) The EP1 Interrupt Enable bit will enable or disable endpoint seven (EP1) Transaction Done interrupt. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the device's given Endpoint: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, the NAK Interrupt Enable bit in the Device n Endpoint Control Register can also be set so that NAK responses will trigger this interrupt. 1: Enable EP1 Transaction Done interrupt 0: Disable EP1 Transaction Done interrupt EP0 Interrupt Enable (Bit 0) The EP0 Interrupt Enable bit will enable or disable endpoint seven (EP0) Transaction Done interrupt. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the device's given Endpoint: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, the NAK Interrupt Enable bit in the Device n Endpoint Control Register can also be set so that NAK responses will trigger this interrupt. 1: Enable EP0 Transaction Done interrupt 0: Disable EP0 Transaction Done interrupt
Document #: 38-08015 Rev. *E
Page 62 of 119
CY7C67300
Reserved All reserved bits should be written as `0'. 7.6.8 Device n Address Register [W] * Device 1 Address Register 0xC08E * Device 2 Address Register 0xC0AE
Bit # Field Read/Write Default Bit # Field Read/Write Default 0 7 ...Reserved 0 W 0 W 0 W 0 0 6 0 5 0 4 15 14 13 12 Reserved... 0 3 Address W 0 W 0 W 0 W 0 0 2 0 1 0 0 11 10 9 8
Figure 7-41. Device n Address Register Register Description The Device n Address Register holds the device address assigned by the host. This register initializes to the default address 0 at reset but must be updated by firmware when the host assigns a new address. Only USB data sent to the address contained in this register will be responded to, all others are ignored. Address (Bits [6:0]) The Address field contains the USB address of the device assigned by the host. Reserved All reserved bits should be written as `0'. 7.6.9 Device n Status Register [R/W] * Device 1 Status Register 0xC090 * Device 2 Status Register 0xC0B0
Bit # Field Read/Write Default 15 VBUS Interrupt Flag R/W X 14 ID Interrupt Flag R/W X X X 13 12 Reserved X X 11 10 9 SOF/EOP Interrupt Flag R/W X 8 Reset Interrupt Flag R/W X
Bit # Field Read/Write Default
7 EP7 Interrupt Flag R/W X
6 EP6 Interrupt Flag R/W X
5 EP5 Interrupt Flag R/W X
4 EP4 Interrupt Flag R/W X
3 EP3 Interrupt Flag R/W X
2 EP2 Interrupt Flag R/W X
1 EP1 Interrupt Flag R/W X
0 EP0 Interrupt Flag R/W X
Figure 7-42. Device n Status Register Register Description The Device n Status Register provides status information for device operation. Pending interrupts can be cleared by writing a `1' to the corresponding bit. This register can be accessed by the HPI interface. VBUS Interrupt Flag (Bit 15) The VBUS Interrupt Flag bit indicates the status of the OTG VBUS interrupt (only for Port 1A). When enabled this interrupt will trigger on both the rising and falling edge of VBUS at 4.4V. This bit is only available for Device 1 and is a reserved bit in Device 2. 1: Interrupt triggered 0: Interrupt did not trigger
Document #: 38-08015 Rev. *E
Page 63 of 119
CY7C67300
ID Interrupt Flag (Bit 14) The ID Interrupt Flag bit indicates the status of the OTG ID interrupt (only for Port 1A). When enabled this interrupt will trigger on both the rising and falling edge of the OTG ID pin. This bit is only available for Device 1 and is a reserved bit in Device 2. 1: Interrupt triggered 0: Interrupt did not trigger SOF/EOP Interrupt Flag (Bit 9) The SOF/EOP Interrupt Flag bit indicates if the SOF/EOP received interrupt has triggered. 1: Interrupt triggered 0: Interrupt did not trigger Reset Interrupt Flag (Bit 8) The Reset Interrupt Flag bit indicates if the USB Reset Detected interrupt has triggered. 1: Interrupt triggered 0: Interrupt did not trigger EP7 Interrupt Flag (Bit 7) The EP7 Interrupt Flag bit indicates if the endpoint seven (EP7) Transaction Done interrupt has triggered. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the devices given EP: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, if the NAK Interrupt Enable bit in the Device n Endpoint Control Register is set, this interrupt will also trigger when the device NAKs host requests. 1: Interrupt triggered 0: Interrupt did not trigger EP6 Interrupt Flag (Bit 6) The EP6 Interrupt Flag bit indicates if the endpoint six (EP6) Transaction Done interrupt has triggered. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the devices given EP: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, if the NAK Interrupt Enable bit in the Device n Endpoint Control Register is set, this interrupt will also trigger when the device NAKs host requests. 1: Interrupt triggered 0: Interrupt did not trigger EP5 Interrupt Flag (Bit 5) The EP5 Interrupt Flag bit indicates if the endpoint five (EP5) Transaction Done interrupt has triggered. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the devices given EP: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, if the NAK Interrupt Enable bit in the Device n Endpoint Control Register is set, this interrupt will also trigger when the device NAKs host requests. 1: Interrupt triggered 0: Interrupt did not trigger EP4 Interrupt Flag (Bit 4) The EP4 Interrupt Flag bit indicates if the endpoint four (EP4) Transaction Done interrupt has triggered. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the devices given EP: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, if the NAK Interrupt Enable bit in the Device n Endpoint Control Register is set, this interrupt will also trigger when the device NAKs host requests. 1: Interrupt triggered 0: Interrupt did not trigger EP3 Interrupt Flag (Bit 3) The EP3 Interrupt Flag bit indicates if the endpoint three (EP3) Transaction Done interrupt has triggered. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the devices given EP: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, if the NAK Interrupt Enable bit in the Device n Endpoint Control Register is set, this interrupt will also trigger when the device NAKs host requests. 1: Interrupt triggered 0: Interrupt did not trigger
Document #: 38-08015 Rev. *E
Page 64 of 119
CY7C67300
EP2 Interrupt Flag (Bit 2) The EP2 Interrupt Flag bit indicates if the endpoint two (EP2) Transaction Done interrupt has triggered. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the devices given EP: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, if the NAK Interrupt Enable bit in the Device n Endpoint Control Register is set, this interrupt will also trigger when the device NAKs host requests. 1: Interrupt triggered 0: Interrupt did not trigger EP1 Interrupt Flag (Bit 1) The EP1 Interrupt Flag bit indicates if the endpoint one (EP1) Transaction Done interrupt has triggered. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the devices given EP: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, if the NAK Interrupt Enable bit in the Device n Endpoint Control Register is set, this interrupt will also trigger when the device NAKs host requests. 1: Interrupt triggered 0: Interrupt did not trigger EP0 Interrupt Flag (Bit 0) The EP0 Interrupt Flag bit indicates if the endpoint zero (EP0) Transaction Done interrupt has triggered. An EPx Transaction Done interrupt will trigger when any of the following responses or events occur in a transaction for the devices given EP: send/receive ACK, send STALL, Time-out occurs, IN Exception Error, or OUT Exception Error. In addition, if the NAK Interrupt Enable bit in the Device n Endpoint Control Register is set, this interrupt will also trigger when the device NAKs host requests. 1: Interrupt triggered 0: Interrupt did not trigger Reserved All reserved bits should be written as `0'. 7.6.10 Device n Frame Number Register [R] * Device 1 Frame Number Register 0xC092 * Device 2 Frame Number Register 0xC0B2
Bit # Field Read/Write Default Bit # Field Read/Write Default R 0 R 0 R 0 R 0 15 SOF/EOP Time-out Flag R 0 7 R 0 6 14 13 SOF/EOP Time-out Interrupt Counter R 0 5 R 0 4 ...Frame R 0 R 0 R 0 R 0 12 11 Reserved 0 3 R 0 2 10 9 Frame... R 0 1 R 0 0 8
Figure 7-43. Device n Frame Number Register Register Description The Device n Frame Number Register is a read-only register that contains the Frame number of the last SOF packet received. This register also contains a count of SOF/EOP Time-out occurrences. SOF/EOP Time-out Flag (Bit 15) The SOF/EOP Time-out Flag bit indicates when an SOF/EOP Time-out Interrupt occurs. 1: An SOF/EOP Time-out interrupt occurred 0: An SOF/EOP Time-out interrupt did not occur SOF/EOP Time-out Interrupt Counter (Bits [14:12]) The SOF/EOP Time-out Interrupt Counter field will increment by 1 from 0 to 7 for each SOF/EOP Time-out Interrupt. This field resets to 0 when a SOF/EOP is received. This field is only updated when the SOF/EOP Time-out Interrupt Enable bit in the Device n Interrupt Enable Register is set.
Document #: 38-08015 Rev. *E
Page 65 of 119
CY7C67300
Frame (Bits [10:0]) The Frame field contains the frame number from the last received SOF packet in full-speed mode. This field has no function for low-speed mode. If a SOF Time-out occurs, this field will contain the last received Frame number. 7.6.11 Device n SOF/EOP Count Register [W] * Device 1 SOF/EOP Count Register 0xC094 * Device 2 SOF/EOP Count Register 0xC0B4
Bit # Field Read/Write Default Bit # Field Read/Write Default R 1 R 1 R 1 R 0 0 7 15 Reserved 0 6 R 1 5 R 0 4 ...Count R 0 R 0 R 0 R 0 R 1 3 14 13 12 11 Count... R 1 2 R 1 1 R 0 0 10 9 8
Figure 7-44. Device n SOF/EOP Count Register Register Description The Device n SOF/EOP Count Register should be written with the time expected between receiving a SOF/EOPs. If the SOF/EOP counter expires before an SOF/EOP is received, an SOF/EOP Time-out Interrupt can be generated. The SOF/EOP Time-out Interrupt Enable and SOF/EOP Time-out Interrupt Flag are located in the Device n Interrupt Enable and Status Registers respectively. The SOF/EOP count should be set slightly greater than the expected SOF/EOP interval. The SOF/EOP counter decrements at a 12-MHz rate. Therefore, in the case of an expected 1-ms SOF/EOP interval, the SOF/EOP count should be set slightly greater then 0x2EE0. Count (Bits [13:0]) The Count field contains the current value of the SOF/EOP down counter. At power-up and reset, this value is set to 0x2EE0 and for expected 1-ms SOF/EOP intervals, this SOF/EOP count should be increased slightly. Reserved All reserved bits should be written as `0'.
7.7
OTG Control Registers
Register Name Address C098H Figure 7-45. OTG Registers R/W R/W
There is one register dedicated for On-The-Go operation. This register is covered in this section and summarized in Figure 7-45.
OTG Control Register
7.7.1
Bit # Field
OTG Control Register [0xC098] [R/W]
15 14 13 VBUS Pull-up Enable 0 7 D+ Pull-down Enable R/W 0 R/W 0 6 D- Pull-down Enable R/W 0 0 12 Receive Disable R/W 0 5 4 Reserved 0 0 11 10 9 D+ Pull-up Enable R/W 0 2 OTG Data Status R X 1 ID Status R X 8 D- Pull-up Enable R/W 0 0 VBUS Valid Flag R X
Reserved 0
Charge Pump VBUS Enable Discharge Enable R/W 0 3 R/W 0
Read/Write Default Bit # Field Read/Write Default
Figure 7-46. OTG Control Register Document #: 38-08015 Rev. *E Page 66 of 119
CY7C67300
Register Description The OTG Control Register allows control and monitoring over the OTG port on Port1A. VBUS Pull-up Enable (Bit 13) The VBUS Pull-up Enable bit enables or disables a 500 pull-up resistor onto OTG VBus. 1: 500 pull-up resistor enabled 0: 500 pull-up resistor disabled Receive Disable (Bit 12) The Receive Disable bit enables or powers down (disables) the OTG receiver section. 1: OTG receiver powered down and disabled 0: OTG receiver enabled Charge Pump Enable (Bit 11) The Charge Pump Enable bit enables or disables the OTG VBus charge pump. 1: OTG VBus charge pump enabled 0: OTG VBus charge pump disabled VBUS Discharge Enable (Bit 10) The VBUS Discharge Enable bit enables or disables a 2K discharge pull-down resistor onto OTG VBus. 1: 2K pull-down resistor enabled 0: 2K pull-down resistor disabled D+ Pull-up Enable (Bit 9) The D+ Pull-up Enable bit enables or disables a pull-up resistor on the OTG D+ data line. 1: OTG D+ dataline pull-up resistor enabled 0: OTG D+ dataline pull-up resistor disabled D- Pull-up Enable (Bit 8) The D- Pull-up Enable bit enables or disables a pull-up resistor on the OTG D- data line. 1: OTG D- dataline pull-up resistor enabled 0: OTG D- dataline pull-up resistor disabled D+ Pull-down Enable (Bit 7) The D+ Pull-down Enable bit enables or disables a pull-down resistor on the OTG D+ data line. 1: OTG D+ dataline pull-down resistor enabled 0: OTG D+ dataline pull-down resistor disabled D- Pull-down Enable (Bit 6) The D- Pull-down Enable bit enables or disables a pull-down resistor on the OTG D- data line. 1: OTG D- dataline pull-down resistor enabled 0: OTG D- dataline pull-down resistor disabled OTG Data Status (Bit 2) The OTG Data Status bit is a read-only bit and indicates the TTL logic state of the OTG VBus pin. 1: OTG VBus is greater then 2.4V 0: OTG VBus is less then 0.8V ID Status (Bit 1) The ID Status bit is a read-only bit that indicates the state of the OTG ID pin on Port A. 1: OTG ID Pin is not connected directly to ground (>10k) 0: OTG ID Pin is connected directly ground (< 10)
Document #: 38-08015 Rev. *E
Page 67 of 119
CY7C67300
VBUS Valid Flag (Bit 0) The VBUS Valid Flag bit indicates whether OTG VBus is greater then 4.4V. After turning on VBUS, firmware should wait at least 10 s before this reading this bit. 1: OTG VBus is greater then 4.4V 0: OTG VBus is less then 4.4V Reserved All reserved bits should bit written as `0'.
7.8
GPIO Registers
There are seven registers dedicated for GPIO operations. These seven registers are covered in this section and summarized in Figure 7-47. Register Name GPIO Control Register GPIO0 Output Data Register GPIO0 Input Data Register GPIO0 Direction Register GPIO1 Output Data Register GPIO1 Input Data Register GPIO1 Direction Register Address 0xC006 0xC01E 0xC020 0xC022 0xC024 0xC026 0xC028 Figure 7-47. GPIO Registers 7.8.1 GPIO Control Register [0xC006] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default 15 Write Protect Enable R/W 0 7 HSS Enable R/W 0 14 UD R/W 0 6 HSS XD Enable R/W 0 0 5 SPI Enable R/W 0 13
Reserved
R/W R/W R/W R R/W R/W R R/W
12
11 SAS Enable
10
9 Mode Select
8
0 4 SPI XD Enable R/W 0
R/W 0 3 Interrupt 1 Polarity Select R/W 0
R/W 0 2 Interrupt 1 Enable R/W 0
R/W 0 1 Interrupt 0 Polarity Select R/W 0
R/W 0 0 Interrupt 0 Enable R/W 0
Figure 7-48. GPIO Control Register Register Description The GPIO Control Register configures the GPIO pins for various interface options. It also controls the polarity of the GPIO interrupt on IRQ1 (GPIO25) and IRQ0 (GPIO24). Write Protect Enable (Bit 15) The Write Protect Enable bit enables or disables the GPIO write protect. When Write Protect is enabled, the GPIO Mode Select [10:8] field read-only until a chip reset. 1: Enable Write Protect 0: Disable Write Protect UD (Bit 14) The UD bit routes the Host/Device 1A Port's transmitter enable status to GPIO[30]. This is for use with an external ESD protection circuit when needed. 1: Route the signal to GPIO[30] 0: Do not route the signal to GPIO[30]
Document #: 38-08015 Rev. *E
Page 68 of 119
CY7C67300
SAS Enable (Bit 11) The SAS Enable bit, when in SPI mode, will reroute the SPI port SPI_nSSI pin to GPIO[15] rather then GPIO[9] or XD[9] (per SG/SX). 1: Reroute SPI_nss to GPIO[30] 0: Leave SPI_nss on GPIO[9] Mode Select (Bits [10:8]) The Mode Select field selects how GPIO[15:0] and GPIO[24:19] are used as defined in Table 7-10. Table 7-10. Mode Select Definition Mode Select [10:8] 111 110 101 100 011 010 001 000 HSS Enable (Bit 7) The HSS Enable bit routes HSS to GPIO[26, 18:16]. If the HSS XD Enable bit is set, it will override this bit and HSS will be routed to XD[15:12]. 1: HSS is routed to GPIO 0: HSS is not routed to GPIOs. GPIO[26, 18:16] are free for other purposes HSS XD Enable (Bit 6) The HSS XD Enable bit routes HSS to XD[15:12] (external memory data bus). This bit overrides the HSS Enable bit. 1: HSS is routed to XD[15:12] 0: HSS is not routed to XD[15:12] SPI Enable (Bit 5) The SPI Enable bit routes SPI to GPIO[11:8]. If the SAS Enable bit is set, it will override the SPI Enable and route SPI_nSSI to GPIO15. If the SPI XD Enable bit is set, it will override both bits and the SPI will be routed to XD[11:8] (external memory data bus). 1: SPI is routed to GPIO[11:8] 0: SPI is not routed to GPIO[11:8]. GPIO[11:8] are free for other purposes SPI XD Enable (Bit 4) The SPI XD Enable bit routes SPI to XD[11:8] (external memory data bus). This bit overrides the SPI Enable bit. 1: SPI is routed to XD[11:8] 0: SPI is not routed to XD[11:8] Interrupt 1 Polarity Select (Bit 3) The Interrupt 1 Polarity Select bit selects the polarity for IRQ1. 1: Sets IRQ1 to rising edge 0: Sets IRQ1 to falling edge Interrupt 1 Enable (Bit 2) The Interrupt 1 Enable bit enables or disables IRQ1. The GPIO bit on the interrupt Enable Register must also be set in order for this for this interrupt to be enabled. 1: Enable IRQ1 0: Disable IRQ1 Reserved SCAN -- (HW) Scan diagnostic. For production test only. Not for normal operation HPI -- Host Port Interface IDE -- Integrated Drive Electronics or Reserved Reserved Reserved GPIO -- General Purpose Input Output GPIO Configuration
Document #: 38-08015 Rev. *E
Page 69 of 119
CY7C67300
Interrupt 0 Polarity Select (Bit 1) The Interrupt 0 Polarity Select bit selects the polarity for IRQ0. 1: Sets IRQ0 to rising edge 0: Sets IRQ0 to falling edge Interrupt 0 Enable (Bit 0) The Interrupt 0 Enable bit enables or disables IRQ0. The GPIO bit on the interrupt Enable Register must also be set in order for this for this interrupt to be enabled. 1: Enable IRQ0 0: Disable IRQ0 Reserved All reserved bits should be written as `0'. 7.8.2 GPIO n Output Data Register [R/W] * GPIO 0 Output Data Register 0xC01E * GPIO 1 Output Data Register 0xC024
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 7 R/W 0 6 R/W 0 5 R/W 0 4 ...Data R/W 0 R/W 0 R/W 0 R/W 0 15 14 13 12 Data... R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Figure 7-49. GPIO n Output Data Register Register Description The GPIO n Output Data Register controls the output data of the GPIO pins. The GPIO 0 Output Data Register controls GPIO15 to GPIO0 while the GPIO 1 Output Data Register controls GPIO31 to GPIO16. When read, this register reads back the last data written, not the data on pins configured as inputs (see Input Data Register). Data (Bits [15:0]) The Data field[15:0] writes to the corresponding GPIO 15-0 or GPIO31-16 pins as output data. 7.8.3 GPIO n Input Data Register [R] * GPIO 0 Input Data Register 0xC020 * GPIO 1 Input Data Register 0xC026
Bit # Field Read/Write Default Bit # Field Read/Write Default R 0 R 0 R 0 R 0 R 0 7 R 0 6 R 0 5 R 0 4 ...Data R 0 R 0 R 0 R 0 15 14 13 12 Data... R 0 3 R 0 2 R 0 1 R 0 0 11 10 9 8
Figure 7-50. GPIO n Input Data Register Register Description The GPIO n Input Data Register reads the input data of the GPIO pins. The GPIO 0 Input Data Register reads from GPIO15 to GPIO0 while the GPIO 1 Input Data Register reads from GPIO31 to GPIO16.
Document #: 38-08015 Rev. *E
Page 70 of 119
CY7C67300
Data (Bits [15:0]) The Data field[15:0] contains the voltage values on the corresponding GPIO15-0 or GPIO31-16 input pins. 7.8.4 GPIO n Direction Register [R/W] * GPIO 0 Direction Register 0xC022 * GPIO 1 Direction Register 0xC028
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 7 R/W 0 6 R/W 0 5 15 14 13 12 R/W 0 4 R/W 0 11 R/W 0 3 R/W 0 10 R/W 0 2 R/W 0 9 R/W 0 1 R/W 0 8 R/W 0 0 R/W 0
Direction Select...
...Direction Select
Figure 7-51. GPIO n Direction Register Register Description The GPIO n Direction Register controls the direction of the GPIO data pins (input/output). The GPIO 0 Direction Register controls GPIO15 to GPIO0 while the GPIO 1 Direction Register controls GPIO31 to GPIO16. Direction Select (Bits [15:0]) The Direction Select field[15:0] configures the corresponding GPIO15-0 or GPIO31-16 pins as either input or output. When any bit of this register is set to `1', the corresponding GPIO data pin becomes an output. When any bit of this register is set to `0', the corresponding GPIO data pin becomes an input.
7.9
IDE Registers
In addition to the standard IDE PIO Port registers, there are four registers dedicated to IDE operation. These registers are covered in this section and summarized in Figure 7-52. Register Name IDE Mode Register IDE Start Address Register IDE Stop Address Register IDE Control Register IDE PIO Port Registers Address 0xC048 0xC04A 0xC04C 0xC04E 0xC050-0xC06F Figure 7-52. IDE Registers 7.9.1 IDE Mode Register [0xC048] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default 0 0 0 7 0 6 0 5 ...Reserved 0 0 R/W 0 R/W 0 0 4 15 14 13 12 Reserved... 0 3 0 2 0 1 Mode Select R/W 0 R/W 0 0 0 11 10 9 8
R/W R/W R/W R/W R/W R/W
Figure 7-53. IDE Mode Register Register Description The IDE Mode Register allows the selection of IDE PIO Modes 0, 1, 2, 3, or 4. The default setting is zero which means IDE PIO Mode 0. Document #: 38-08015 Rev. *E Page 71 of 119
CY7C67300
Mode Select (Bits [2:0]) The Mode Select field sets PIO Mode 0 to 4 in IDE mode. Refer to Table 7-11 for a definition of this field. Table 7-11. Mode Select Definition Mode Select [2:0] 000 001 010 011 100 101 110 111 Reserved All reserved bits should be written as `0'. 7.9.2 IDE Start Address Register [0xC04A] [R/W]
15 R/W 0 7 R/W 0 14 R/W 0 6 R/W 0 13 R/W 0 5 R/W 0 12 Address... R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Mode IDE PIO Mode 0 IDE PIO Mode 1 IDE PIO Mode 2 IDE PIO Mode 3 IDE PIO Mode 4 Reserved Reserved Disable IDE port operations
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-54. IDE Start Address Register Register Description The IDE Start Address Register holds the start address for an IDE block transfer. This register is byte addressed and IDE block transfers are 16-bit words, therefore the LSB of the start address is ignored. Block transfers begin at IDE Start Address and end with the final word at IDE Stop Address. When IDE Start Address equals IDE Stop Address, the block transfer moves one word of data. The hardware keeps an internal memory address counter. The two MSBs of the addresses are not modified by the address counter. Therefore the IDE Start Address and IDE Stop Address must reside within the same 16-Kbyte block. Address (Bits [15:0]) The Address field sets the start address for an IDE block transfer. 7.9.3 IDE Stop Address Register [0xC04C] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 7 R/W 0 6 R/W 0 5 R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 15 14 13 12 Address... R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Figure 7-55. IDE Stop Address Register Document #: 38-08015 Rev. *E Page 72 of 119
CY7C67300
Register Description The IDE Stop Address Register holds the stop address for an IDE block transfer. This register is byte addressed and IDE block transfers are 16-bit words therefore the LSB of the stop address is ignored. Block transfers begin at IDE Start Address and end with the final word at IDE Stop Address. When IDE Start Address equals IDE Stop Address, the block transfer moves one word of data. The hardware keeps an internal memory address counter. The two MSBs of the addresses are not modified by the address counter. Therefore the IDE Start Address and IDE Stop Address must reside within the same 16-Kbyte block. Address (Bits [15:0]) The Address field sets the stop address for an IDE block transfer. 7.9.4 IDE Control Register [0xC04E] [R/W]
Bit # Field Read/Write Default Bit # Field 0 7 0 6 ...Reserved 0 5 0 4 15 14 13 12 Reserved... 0 3 Direction Select 0 0 R/W 0 0 2 IDE Interrupt Enable R/W 0 0 1 Done Flag R/W 0 0 0 IDE Enable R/W 0 11 10 9 8
Read/Write Default
0
0
Figure 7-56. IDE Control Register Register Description The IDE Control Register controls block transfers in IDE mode. Direction Select (Bit 3) The Direction Select bit sets the block mode transfer direction. 1: Data is written to the external device 0: Data is read from the external device IDE Interrupt Enable (Bit 2) The IDE Interrupt Enable bit enables or disables the block transfer done interrupt. When enabled, the Done Flag is sent to the CPU as cpuide_intr interrupt. When disabled, the cpuide_intr is set LOW. 1: Enable block transfer done interrupt 0: Disable block transfer done interrupt Done Flag (Bit 1) The Done Flag bit is automatically set to `1' by hardware when a block transfer is complete. The CPU clears this bit by writing a `0' to it. When IDE Interrupt Enable is set this bit generates the signal for the cpuide_intr interrupt. 1: Block transfer is complete 0: Clears IDE Done Flag IDE Enable (Bit 0) The IDE Enable bit will start a block transfer. It is reset to `0' when the block transfer is complete 1: Start block transfer 0: Block transfer complete Reserved All reserved bits should be written as `0'.
Document #: 38-08015 Rev. *E
Page 73 of 119
CY7C67300
7.9.5 IDE PIO Port Registers [0xC050 - 0xC06F] [R/W] All IDE PIO Port Registers [0xC050 - 0xC06F] in Table 7-12 are defined in detail in the Information Technology-AT Attachment 4 with Packet Interface Extension (ATA/ATAPI-4) Specification, T13/1153D Rev 18. In Table 7-12 below, the Address column denotes the CY7C67300 register address for the corresponding ATA/ATAPI register. The IDE_nCS[1:0] field defines the ATA interface CS addressing bits and the IDE_A[2:0] field define the ATA interface address bits. The combination of IDE_nCS and IDE_A are the ATA interface register address. Table 7-12. IDE PIO Port Registers Address 0xC050 0xC052 0xC054 0xC056 0xC058 0xC05A 0xC05C 0xC05E 0xC060 0xC062 0xC064 0xC066 0xC068 0xC06A 0xC06C 0xC06E ATA/ATAPI Register DATA Register Read: Error Register Write: Feature Register Sector Count Register Sector Number Register Cylinder Low Register Cylinder High Register Device/Head Register Read: Status Register Write: Command Register Not Defined Not Defined Not Defined Not Defined Not Defined Not Defined Read: Alternate Status Register Write: Device Control Register Not Defined IDE_nCS[1:0] `10' `10' `10' `10' `10' `10' `10' `10' `01' `01' `01' `01' `01' `01' `01' `01' IDE_A[2:0] `000' `001' `010' `011' `100' `101' `110' `111' `000' `001' `010' `011' `100' `101' `110' `111'
7.10
HSS Registers
There are eight registers dedicated to HSS operation. Each of these registers are covered in this section and summarized in Figure 7-57. Register Name HSS Control Register HSS Baud Rate Register HSS Transmit Gap Register HSS Data Register HSS Receive Address Register HSS Receive Length Register HSS Transmit Address Register HSS Transmit Length Register Address 0xC070 0xC072 0xC074 0xC076 0xC078 0xC07A 0xC07C 0xC07E Figure 7-57. HSS Registers R/W R/W R/W R/W R/W R/W R/W R/W R/W
Document #: 38-08015 Rev. *E
Page 74 of 119
CY7C67300
7.10.1 HSS Control Register [0xC070] [R/W]
15 HSS Enable R/W 0 7 14 RTS Polarity Select R/W 0 6 13 CTS Polarity Select R/W 0 5 One Stop Bit R/W 0 12 XOFF 11 XOFF Enable R/W 0 3 Packet Mode Select R/W 0 10 CTS Enable R/W 0 2 Receive Overflow Flag R/W 0 9 Receive Interrupt Enable R/W 0 1 Receive Packet Ready Flag R 0 8 Done Interrupt Enable R/W 0 0 Receive Ready Flag R 0
Bit # Field
Read/Write Default Bit # Field
R 0 4 Transmit Ready R 0
Transmit Receive Done Interrupt Done Interrupt Enable Enable R/W 0 R/W 0
Read/Write Default
Figure 7-58. HSS Control Register Register Description The HSS Control Register provides high-level status and control over the HSS port. HSS Enable (Bit 15) The HSS Enable bit enables or disables HSS operation. 1: Enables HSS operation 0: Disables HSS operation RTS Polarity Select (Bit 14) The RTS Polarity Select bit selects the polarity of RTS. 1: RTS is true when LOW 0: RTS is true when HIGH CTS Polarity Select (Bit 13) The CTS Polarity Select bit selects the polarity of CTS. 1: CTS is true when LOW 0: CTS is true when HIGH XOFF (Bit 12) The XOFF bit is a read-only bit that indicates if an XOFF has been received. This bit will automatically clear when an XON has been received. 1: XOFF received 0: XON received XOFF Enable (Bit 11) The XOFF Enable bit enables or disables XON/XOFF software handshaking. 1: Enable XON/XOFF software handshaking 0: Disable XON/XOFF software handshaking CTS Enable (Bit 10) The CTS Enable bit enables or disables CTS/RTS hardware handshaking. 1: Enable CTS/RTS hardware handshaking 0: Disable CTS/RTS hardware handshaking Receive Interrupt Enable (Bit 9) The Receive Interrupt Enable bit enables or disables the Receive Ready and Receive Packet Ready interrupts. 1: Enable the Receive Ready and Receive Packet Ready interrupts 0: Disable the Receive Ready and Receive Packet Ready interrupts Document #: 38-08015 Rev. *E Page 75 of 119
CY7C67300
Done Interrupt Enable (Bit 8) The Done Interrupt Enable bit enables or disables the Transmit Done and Receive Done interrupts. 1: Enable the Transmit Done and Receive Done interrupts 0: Disable the Transmit Done and Receive Done interrupts Transmit Done Interrupt Flag (Bit 7) The Transmit Done Interrupt Flag bit indicates the status of the Transmit Done Interrupt. It will set when a block transmit is finished. To clear the interrupt, a `1' should be written to this bit. 1: Interrupt triggered 0: Interrupt did not trigger Receive Done Interrupt Flag (Bit 6) The Receive Done Interrupt Flag bit indicates the status of the Receive Done Interrupt. It will set when a block transmit is finished. To clear the interrupt, a `1' should be written to this bit. 1: Interrupt triggered 0: Interrupt did not trigger One Stop Bit (Bit 5) The One Stop Bit bit selects between one and two stop bits for transmit byte mode. In receive mode, the number of stop bits may vary and does not need to be fixed. 1: One stop bit 0: Two stop bits Transmit Ready (Bit 4) The Transmit Ready bit is a read-only bit that indicates if the HSS Transmit FIFO is ready for the CPU to load new data for transmission. 1: HSS transmit FIFO ready for loading 0: HSS transmit FIFO not ready for loading Packet Mode Select (Bit 3) The Packet Mode Select bit selects between Receive Packet Ready and Receive Ready as the interrupt source for the RxIntr interrupt. 1: Selects Receive Packet Ready as the source 0: Selects Receive Ready as the source Receive Overflow Flag (Bit 2) The Receive Overflow Flag bit indicates if the Receive FIFO overflowed when set. This flag can be cleared by writing a `1' to this bit. 1: Overflow occurred 0: Overflow did not occur Receive Packet Ready Flag (Bit 1) The Receive Packet Ready Flag bit is a read only bit that indicates if the HSS receive FIFO is full with eight bytes or not. 1: HSS receive FIFO is full 0: HSS receive FIFO is not full Receive Ready Flag (Bit 0) The Receive Ready Flag is a read only bit that indicates if the HSS receive FIFO is empty or not. 1: HSS receive FIFO is not empty (one or more bytes is reading for reading) 0: HSS receive FIFO is empty
Document #: 38-08015 Rev. *E
Page 76 of 119
CY7C67300
7.10.2 HSS Baud Rate Register [0xC072] [R/W]
15 0 7 R/W 0 14 Reserved 0 6 R/W 0 0 5 R/W 0 R/W 0 4 ...Baud R/W 1 R/W 0 R/W 1 R/W 1 R/W 1 R/W 0 3 13 12 11 10 Baud... R/W 0 2 R/W 0 1 R/W 0 0 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-59. HSS Baud Rate Register Register Description The HSS Baud Rate Register will set the HSS Baud Rate. At reset, the default value is 0x0017 which will set the baud rate to 2.0 MHz. Baud (Bits [12:0]) The Baud field is the baud rate divisor minus one, in units of 1/48 MHz. Therefore the Baud Rate = 48 MHz/(Baud + 1). This puts a constraint on the Baud Value as follows: (24 - 1) Baud (5000 - 1) Reserved All reserved bits should be written as `0'. 7.10.3 HSS Transmit Gap Register [0xC074] [R/W]
15 0 7 R/W 0 14 0 6 R/W 0 13 0 5 R/W 0 12 Reserved 0 4 R/W 0 0 3 R/W 1 0 2 R/W 0 0 1 R/W 0 0 0 R/W 1 11 10 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Transmit Gap Select
Figure 7-60. HSS Transmit Gap Register Register Description The HSS Transmit Gap Register is only valid in block transmit mode. It allows for a programmable number of stop bits to be inserted thus overwriting the One Stop Bit in the HSS Control Register. The default reset value of this register is 0x0009, equivalent to two stop bits. Transmit Gap Select (Bits [7:0]) The Transmit Gap Select field sets the inactive time between transmitted bytes. The inactive time = (Transmit Gap Select - 7) * bit time. Therefore an Transmit Gap Select Value of 8 is equal to having one Stop bit. Reserved All reserved bits should be written as `0'.
Document #: 38-08015 Rev. *E
Page 77 of 119
CY7C67300
7.10.4 HSS Data Register [0xC076] [R/W]
15 X 7 R/W X 14 X 6 R/W X 13 X 5 R/W X 12 Reserved X 4 Data R/W X R/W X R/W X R/W X R/W X X 3 X 2 X 1 X 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-61. HSS Data Register Register Description The HSS Data Register contains data received on the HSS port (not for block receive mode) when read. This receive data is valid when the Receive Ready bit of the HSS Control Register is set to `1'. Writing to this register will initiate a single byte transfer of data. The Transmit Ready Flag in the HSS Control Register should read `1' before writing to this register (this avoids disrupting the previous/current transmission). Data (Bits [7:0]) The Data field contains the data received or to be transmitted on the HSS port. Reserved All reserved bits should be written as `0'. 7.10.5 HSS Receive Address Register [0xC078] [R/W]
15 R/W 0 7 R/W 0 14 R/W 0 6 R/W 0 13 R/W 0 5 R/W 0 12 Address... R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-62. HSS Receive Address Register Register Description The HSS Receive Address Register is used as the base pointer address for the next HSS block receive transfer. Address (Bits [15:0]) The Address field sets the base pointer address for the next HSS block receive transfer.
Document #: 38-08015 Rev. *E
Page 78 of 119
CY7C67300
7.10.6 HSS Receive Counter Register [0xC07A] [R/W]
15 0 7 R/W 0 14 0 6 R/W 0 13 Reserved 0 5 R/W 0 0 4 ...Counter R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 0 3 0 2 R/W 0 1 12 11 10 9 Counter... R/W 0 0 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-63. HSS Receive Counter Register Register Description The HSS Receive Counter Register designates the block byte length for the next HSS receive transfer. This register should be loaded with the word count minus one to start the block receive transfer. As each byte is received this register value is decremented. When read, this register indicates the remaining length of the transfer. Counter (Bits [9:0]) The Counter field value is equal to the word count minus one giving a maximum value of 0x03FF (1023) or 2048 bytes. When the transfer is complete this register returns 0x03FF until reloaded. Reserved All reserved bits should be written as `0'. 7.10.7 HSS Transmit Address Register [0xC07C] [R/W]
15 R/W 0 7 R/W 0 14 R/W 0 6 R/W 0 13 R/W 0 5 R/W 0 12 Address... R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-64. HSS Transmit Address Register Register Description The HSS Transmit Address Register is used as the base pointer address for the next HSS block transmit transfer. Address (Bits [15:0]) The Address field sets the base pointer address for the next HSS block transmit transfer. 7.10.8 HSS Transmit Counter Register [0xC07E] [R/W]
15 0 7 R/W 0 14 0 6 R/W 0 13 Reserved 0 5 R/W 0 0 4 ...Counter R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 0 3 0 2 R/W 0 1 12 11 10 9 Counter... R/W 0 0 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-65. HSS Transmit Counter Register Document #: 38-08015 Rev. *E Page 79 of 119
CY7C67300
Register Description The HSS Transmit Counter Register designates the block byte length for the next HSS transmit transfer. This register should be loaded with the word count minus one to start the block transmit transfer. As each byte is transmitted this register value is decremented. When read, this register indicates the remaining length of the transfer. Counter (Bits [9:0]) The Counter field value is equal to the word count minus one giving a maximum value of 0x03FF (1023) or 2048 bytes. When the transfer is complete this register returns 0x03FF until reloaded. Reserved All reserved bits should be written as `0'.
7.11
HPI Registers
There are five registers dedicated to HPI operation. In addition, there is an HPI status port which can be address over HPI. Each of these registers is covered in this section and are summarized in Figure 7-66. Register Name HPI Breakpoint Register Interrupt Routing Register SIE1msg Register SIE2msg Register HPI Mailbox Register 0x0140 0x0142 0x0144 0x0148 0xC0C6 Figure 7-66. HPI Registers 7.11.1 HPI Breakpoint Register [0x0140] [R]
15 R 0 7 R 0 14 R 0 6 R 0 13 R 0 5 R 0 12 Address... R 0 4 ...Address R 0 R 0 R 0 R 0 R 0 R 0 3 R 0 2 R 0 1 R 0 0 11 10 9 8
Address R R W W R/W
R/W
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-67. HPI Breakpoint Register Register Description The HPI Breakpoint Register is a special on-chip memory location that the external processor can access using normal HPI memory read/write cycles. This register is read only by the CPU but is read/write by the HPI port. The contents of this register have the same effect as the Breakpoint Register [0xC014]. This special Breakpoint Register is used by software debuggers which interface through the HPI port instead of the serial port. When the program counter matches the Breakpoint Address, the INT127 interrupt will trigger. To clear this interrupt, a zero value should be written to this register. Address (Bits [15:0]) The Address field is a 16-bit field containing the breakpoint address.
Document #: 38-08015 Rev. *E
Page 80 of 119
CY7C67300
7.11.2 Interrupt Routing Register [0x0142] [R]
15 VBUS to HPI Enable 0 7 Resume2 to HPI Enable 0 14 ID to HPI Enable 0 6 Resume1 to HPI Enable 0 0 13 12 11 10 9 8 HPI Swap 1 Enable 0 0 HPI Swap 0 Enable 0
Bit # Field Read/Write Default Bit # Field Read/Write Default
SOF/EOP2 to SOF/EOP2 to SOF/EOP1 to SOF/EOP1 to Reset2 to HPI HPI Enable CPU Enable HPI Enable CPU Enable Enable 0 5 Reserved 0 1 4 0 3 Done2 to HPI Enable 0 1 2 0 1
Done1 to HPI Reset1 to HPI Enable Enable 0 0
Figure 7-68. Interrupt Routing Register Register Description The Interrupt Routing Register allows the HPI port to take over some or all of the SIE interrupts that usually go to the on-chip CPU. This register is read only by the CPU but is read/write by the HPI port. By setting the appropriate bit to `1', the SIE interrupt is routed to the HPI port to become the HPI_INTR signal and also readable in the HPI Status Register. The bits in this register select where the interrupts are routed. The individual interrupt enable is handled in the SIE interrupt enable register. VBUS to HPI Enable (Bit 15) The VBUS to HPI Enable bit routes the OTG VBUS interrupt to the HPI port instead of the on-chip CPU. 1: Route signal to HPI port 0: Do not route signal to HPI port ID to HPI Enable (Bit 14) The ID to HPI Enable bit routes the OTG ID interrupt to the HPI port instead of the on-chip CPU. 1: Route signal to HPI port 0: Do not route signal to HPI port SOF/EOP2 to HPI Enable (Bit 13) The SOF/EOP2 to HPI Enable bit routes the SOF/EOP2 interrupt to the HPI port. 1: Route signal to HPI port 0: Do not route signal to HPI port SOF/EOP2 to CPU Enable (Bit 12) The SOF/EOP2 to CPU Enable bit routes the SOF/EOP2 interrupt to the on-chip CPU. Since the SOF/EOP2 interrupt can be routed to both the on-chip CPU and the HPI port the firmware must ensure only one of the two (CPU, HPI) resets the interrupt. 1: Route signal to CPU 0: Do not route signal to CPU SOF/EOP1 to HPI Enable (Bit 11) The SOF/EOP1 to HPI Enable bit routes the SOF/EOP1 interrupt to the HPI port. 1: Route signal to HPI port 0: Do not route signal to HPI port SOF/EOP1 to CPU Enable (Bit 10) The SOF/EOP1 to CPU Enable bit routes the SOF/EOP1 interrupt to the on-chip CPU. Since the SOF/EOP1 interrupt can be routed to both the on-chip CPU and the HPI port the firmware must ensure only one of the two (CPU, HPI) resets the interrupt. 1: Route signal to CPU 0: Do not route signal to CPU
Document #: 38-08015 Rev. *E
Page 81 of 119
CY7C67300
Reset2 to HPI Enable (Bit 9) The Reset2 to HPI Enable bit routes the USB Reset interrupt that occurs on Device 2 to the HPI port instead of the onchip CPU. 1: Route signal to HPI port 0: Do not route signal to HPI port HPI Swap 1 Enable (Bit 8) Both HPI Swap bits (bits 8 and 0) must be set to identical values. When set to `00', the most significant data byte goes to HPI_D[15:8] and the least significant byte goes to HPI_D[7:0]. This is the default setting. By setting to `11', the most significant data byte goes to HPI_D[7:0] and the least significant byte goes to HPI_D[15:8]. Resume2 to HPI Enable (Bit 7) The Resume2 to HPI Enable bit routes the USB Resume interrupt that occurs on Host 2 to the HPI port instead of the on-chip CPU. 1: Route signal to HPI port 0: Do not route signal to HPI port Resume1 to HPI Enable (Bit 6) The Resume1 to HPI Enable bit routes the USB Resume interrupt that occurs on Host 1 to the HPI port instead of the on-chip CPU. 1: Route signal to HPI port 0: Do not route signal to HPI port Done2 to HPI Enable (Bit 3) The Done2 to HPI Enable bit routes the Done interrupt for Host/Device 2 to the HPI port instead of the on-chip CPU. 1: Route signal to HPI port 0: Do not route signal to HPI port Done1 to HPI Enable (Bit 2) The Done1 to HPI Enable bit routes the Done interrupt for Host/Device 1 to the HPI port instead of the on-chip CPU. 1: Route signal to HPI port 0: Do not route signal to HPI port Reset1 to HPI Enable (Bit 1) The Reset1 to HPI Enable bit routes the USB Reset interrupt that occurs on Device 1 to the HPI port instead of the on-chip CPU. 1: Route signal to HPI port 0: Do not route signal to HPI port HPI Swap 0 Enable (Bit 0) Both HPI Swap bits (bits 8 and 0) must be set to identical values. When set to `00', the most significant data byte goes to HPI_D[15:8] and the least significant byte goes to HPI_D[7:0]. This is the default setting. By setting to `11', the most significant data byte goes to HPI_D[7:0] and the least significant byte goes to HPI_D[15:8]. 7.11.3 SIEXmsg Register [W] * SIE1msg Register 0x0144 * SIE2msg Register 0x0148
Bit # Field Read/Write Default Bit # Field Read/Write Default W X W X W X W X W X 7 W X 6 W X 5 W X 4 ...Data W X W X W X W X 15 14 13 12 Data... W X 3 W X 2 W X 1 W X 0 11 10 9 8
Figure 7-69. SIEXmsg Register
Document #: 38-08015 Rev. *E
Page 82 of 119
CY7C67300
Register Description The SIEXmsg Register allows an interrupt to be generated on the HPI port. Any write to this register will cause the SIEXmsg flag in the HPI Status Port to go high and will also cause an interrupt on the HPI_INTR pin. The SIEXmsg flag is automatically cleared when the HPI port reads from this register. Data (Bits [15:0]) The Data field[15:0] simply needs to have any value written to it to cause SIExmsg flag in the HPI Status Port to go high. 7.11.4
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 7 R/W 0 6 R/W 0 5 R/W 0 4 ...Message R/W 0 R/W 0 R/W 0 R/W 0
HPI Mailbox Register [0xC0C6] [R/W]
15 14 13 12 Message... R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Figure 7-70. HPI Mailbox Register Register Description The HPI Mailbox Register provides a common mailbox between the CY7C67300 and the external host processor. If enabled, the HPI Mailbox RX Full interrupt will trigger when the external host processor writes to this register. When the CY7C67300 reads this register the HPI Mailbox RX Full interrupt will automatically get cleared. If enabled, the HPI Mailbox TX Empty interrupt will trigger when the external host processor reads from this register. The HPI Mailbox TX Empty interrupt will automatically clear when the CY7C67300 writes to this register. In addition, when the CY7C67300 writes to this register, the HPI_INTR signal on the HPI port will assert signaling the external processor that there is data in the mailbox to read. The HPI_INTR signal will de-assert when the external host processor reads from this register. Message (Bits [15:0]) The Message field contains the message that the host processor wrote to the HPI Mailbox Register. 7.11.5
Bit # Field Read/Write Default
Bit # Field Read/Write Default
HPI Status Port [] [HPI: R]
15 VBUS Flag R X
7 Resume2 Flag R X
14 ID Flag R X
6 Resume1 Flag R X
13 Reserved X
5 SIE2msg R X
12 SOF/EOP2 Flag R X
4 SIE1msg R X
11 Reserved X
3 Done2 Flag R X
10 SOF/EOP1 Flag R X
2 Done1 Flag R X
9 Reset2 Flag R X
1 Reset1 Flag R X
8 Mailbox In Flag R X
0 Mailbox Out Flag R X
Figure 7-71. HPI Status Port Register Description The HPI Status Port provides the external host processor with the MailBox status bits plus several SIE status bits. This register is not accessible from the on-chip CPU. The additional SIE status bits are provided to aid external device driver firmware development, and are not recommended for applications that do not have an intimate relationship with the on-chip BIOS. Reading from the HPI Status Port does not result in a CPU HPI interface memory access cycle. The external host may continuously poll this register without degrading the CPU or DMA performance.
Document #: 38-08015 Rev. *E
Page 83 of 119
CY7C67300
VBUS Flag (Bit 15) The VBUS Flag bit is a read-only bit that indicates whether OTG VBus is greater then 4.4V. After turning on VBUS, firmware should wait at least 10 s before this reading this bit. 1: OTG VBus is greater then 4.4V 0: OTG VBus is less then 4.4V ID Flag (Bit 14) The ID Flag bit is a read-only bit that indicates the state of the OTG ID pin. SOF/EOP2 Flag (Bit 12) The SOF/EOP2 Flag bit is a read-only bit that indicates if a SOF/EOP interrupt occurs on either Host/Device 2. 1: Interrupt triggered 0: Interrupt did not trigger SOF/EOP1 Flag (Bit 10) The SOF/EOP1 Flag bit is a read-only bit that indicates if a SOF/EOP interrupt occurs on either Host/Device 1. 1: Interrupt triggered 0: Interrupt did not trigger Reset2 Flag (Bit 9) The Reset2 Flag bit is a read-only bit that indicates if a USB Reset interrupt occurs on either Host/Device 2. 1: Interrupt triggered 0: Interrupt did not trigger Mailbox In Flag (Bit 8) The Mailbox In Flag bit is a read-only bit that indicates if a message is ready in the incoming mailbox. This interrupt clears when on-chip CPU reads from the HPI Mailbox Register. 1: Interrupt triggered 0: Interrupt did not trigger Resume2 Flag (Bit 7) The Resume2 Flag bit is a read-only bit that indicates if a USB resume interrupt occurs on either Host/Device 2. 1: Interrupt triggered 0: Interrupt did not trigger Resume1 Flag (Bit 6) The Resume1 Flag bit is a read-only bit that indicates if a USB resume interrupt occurs on either Host/Device 1. 1: Interrupt triggered 0: Interrupt did not trigger SIE2msg (Bit 5) The SIE2msg Flag bit is a read only bit that indicates if the CY7C67300 CPU has written to the SIE2msg register. This bit will clear on an HPI read. 1: The SIE2msg register has been written by the CY7C67300 CPU 0: The SIE2msg register has not been written by the CY7C67300 CPU SIE1msg (Bit 4) The SIE1msg Flag bit is a read only bit that indicates if the CY7C67300 CPU has written to the SIE1msg register. This bit will clear on an HPI read. 1: The SIE1msg register has been written by the CY7C67300 CPU 0: The SIE1msg register has not been written by the CY7C67300 CPU Done2 Flag (Bit 3) In host mode the Done2 Flag bit is a read-only bit that indicates if a host packet done interrupt occurs on Host 2. In device mode this read-only bit indicates if an any of the endpoint interrupts occurs on Device 2. Firmware will need to determine which endpoint interrupt occurred. Document #: 38-08015 Rev. *E Page 84 of 119
CY7C67300
1: Interrupt triggered 0: Interrupt did not trigger Done1 Flag (Bit 2) In host mode the Done 1 Flag bit is a read-only bit that indicates if a host packet done interrupt occurs on Host 1. In device mode this read-only bit indicates if an any of the endpoint interrupts occurs on Device 1. Firmware will need to determine which endpoint interrupt occurred. 1: Interrupt triggered 0: Interrupt did not trigger Reset1 Flag (Bit 1) The Reset1 Flag bit is a read-only bit that indicates if a USB Reset interrupt occurs on either Host/Device 1. 1: Interrupt triggered 0: Interrupt did not trigger Mailbox Out Flag (Bit 0) The Mailbox Out Flag bit is a read-only bit that indicates if a message is ready in the outgoing mailbox. This interrupt clears when the external host reads from the HPI Mailbox Register. 1: Interrupt triggered 0: Interrupt did not trigger
7.12
SPI Registers
There are twelve registers dedicated to SPI operation. Each of these registers is covered in this section and summarized in Figure 7-72. Register Name SPI Configuration Register SPI Control Register SPI Interrupt Enable Register SPI Status Register SPI Interrupt Clear Register SPI CRC Control Register SPI CRC Value SPI Data Register SPI Transmit Address Register SPI Transmit Count Register SPI Receive Address Register SPI Receive Count Register 0xC0C8 0xC0CA 0xC0CC 0xC0CE 0xC0D0 0xC0D2 0xC0D4 0xC0D6 0xC0D8 0xC0DA 0xC0DC 0xC0DE Figure 7-72. SPI Registers Address R/W R/W R/W R W R/W R/W R/W R/W R/W R/W R/W R/W
Document #: 38-08015 Rev. *E
Page 85 of 119
CY7C67300
7.12.1 SPI Configuration Register [0xC0C8] [R/W]
15 3Wire Enable R/W 1 7 Master Active Enable R 0 14 Phase Select R/W 0 6 Master Enable R/W 0 13 SCK Polarity Select R/W 0 5 SS Enable R/W 0 R/W 1 R/W 1 R/W 0 4 0 3 12 11 Scale Select R/W R/W 0 2 SS Delay Select R/W 0 1 10 9 8 Reserved 0 0
Bit # Field Read/Write Default Bit # Field
Read/Write Default
R/W 1
R/W 1
R/W 1
Figure 7-73. SPI Configuration Register Register Description The SPI Configuration Register controls the SPI port. Fields apply to both master and slave mode unless otherwise noted. 3Wire Enable (Bit 15) The 3Wire Enable bit indicates if the MISO and MOSI data lines are tied together allowing only half duplex operation. 1: MISO and MOSI data lines are tied together 0: Normal MISO and MOSI Full Duplex operation (not tied together) Phase Select (Bit 14) The Phase Select bit selects advanced or delayed SCK phase. This field only applies to master mode. 1: Advanced SCK phase 0: Delayed SCK phase SCK Polarity Select (Bit 13) This SCK Polarity Select bit selects the polarity of SCK. 1: Positive SCK polarity 0: Negative SCK polarity Scale Select (Bits [12:9]) The Scale Select field provides control over the SCK frequency, based on 48 MHz. Refer to Table 7-13 for a definition of this field. This field only applies to master mode. Table 7-13. Scale Select Field Definition for SCK Frequency Scale Select [12:9] 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Document #: 38-08015 Rev. *E SCK Frequency 12 MHz 8 MHz 6 MHz 4 MHz 3 MHz 2 MHz 1.5 MHz 1 MHz 750 KHz 500 KHz 375 KHz 250 KHz 375 KHz Page 86 of 119
CY7C67300
Table 7-13. Scale Select Field Definition for SCK Frequency (continued) Scale Select [12:9] 1101 1110 1111 Master Active Enable (Bit 7) The Master Active Enable bit is a read only bit that indicates if the master state machine is active or idle. This field only applies to master mode. 1: Master state machine is active 0: Master state machine is idle Master Enable (Bit 6) The Master Enable bit sets the SPI interface to master or slave. This bit is only writable when the Master Active Enable bit reads `0', otherwise value will not change. 1: Master SPI interface 0: Slave SPI interface SS Enable (Bit 5) The SS Enable bit enables or disables the master SS output. 1: Enable master SS output 0: Disable master SS output (three-state master SS output, for single SS line in slave mode) SS Delay Select (Bits [4:0]) When the SS Delay Select field is set to `00000' this indicates manual mode. In manual mode SS is controlled by SS Manual bit of the SPI Control Register. When the SS Delay Select field is set between `00001' to `11111', this value indicates the count in half bit times of auto transfer delay for: SS low to SCK active, SCK inactive to SShigh, SS high time. This field only applies to master mode. 7.12.2 SPI Control Register [0xC0CA] [R/W]
15 SCK Strobe W 0 7 Transmit Empty R 1 14 FIFO Init W 0 6 Receive Full R 0 R/W 0 13 Byte Mode R/W 0 5 12 Full Duplex 11 SS Manual R/W 0 3 10 Read Enable R/W 0 2 9 Transmit Ready R 0 1 Receive Bit Length R/W 0 R/W 0 R/W 0 R/W 0 8 Receive Data Ready R 1 0
SCK Frequency 250 KHz 375 KHz 250 KHz
Bit # Field
Read/Write Default Bit # Field Read/Write Default
R/W 0 4 Transmit Bit Length R/W 0
Figure 7-74. SPI Control Register Register Description The SPI Control Register controls the SPI port. Fields apply to both master and slave mode unless otherwise noted. SCK Strobe (Bit 15) The SCK Strobe bit starts the SCK strobe at the selected frequency and polarity (set in the SPI Configuration Register), but not phase. This bit feature can only be enabled when in master mode and must be during a period of inactivity. This bit is self clearing. 1: SCK Strobe Enable 0: No Function FIFO Init (Bit 14) The FIFO Init bit will initialize the FIFO and clear the FIFO Error Status bit. This bit is self clearing. Document #: 38-08015 Rev. *E Page 87 of 119
CY7C67300
1: FIFO Init Enable 0: No Function Byte Mode (Bit 13) The Byte Mode bit selects between PIO (byte mode) and DMA (block mode) operation. 1: Set PIO (byte mode) operation 0: Set DMA (block mode) operation Full Duplex (Bit 12) The Full Duplex bit selects between full duplex and half duplex operation. 1: Enable full duplex. Full duplex is not allowed and will not set if the 3Wire Enable bit of the SPI Configuration Register is set to `1' 0: Enable half duplex operation SS Manual (Bit 11) The SS Manual bit activates or deactivates SS if the SS Delay Select field of the SPI Control Register is all zeros and is configured as master interface. This field only applies to master mode. 1: Activate SS, master drives SS line asserted LOW 0: De-activate SS, master drives SS line deasserted HIGH Read Enable (Bit 10) The Read Enable bit will initiate a read phase for a master mode transfer or set the slave to receive (in slave mode). 1: Initiates a read phase for a master transfer or sets a slave to receive. In master mode this bit is sticky and remains set until the read transfer begins. 0: Initiates the write phase for slave operation Transmit Ready (Bit 9) The Transmit Ready bit is a read-only bit that indicates if the transmit port is ready to empty and ready to be written. 1: Ready for data to be written to the port. The transmit FIFO is not full. 0: Not ready for data to be written to the port Receive Data Ready (Bit 8) The Receive Data Ready bit is a read only bit that indicates if the receive port has data ready. 1: Receive port has data ready to read 0: Receive port does not have data ready Transmit Empty (Bit 7) The Transmit Empty bit is a read-only bit that indicates if the transmit FIFO is empty. 1: Transmit FIFO is empty 0: Transmit FIFO is not empty Receive Full (Bit 6) The Receive Full bit is a read only bit that indicates if the receive FIFO is full. 1: Receive FIFO is full 0: Receive FIFO is not full Transmit Bit Length (Bits [5:3]) The Transmit Bit Length field controls whether a full byte or partial byte is to be transmitted. If Transmit Bit Length is `000' then a full byte will be transmitted. If Transmit Bit Length is `001' to `111', then the value indicates the number of bits that will be transmitted. Receive Bit Length (Bits [2:0]) The Receive Bit Length field controls whether a full byte or partial byte will be received. If Receive Bit Length is `000' then a full byte will be received. If Receive Bit Length is `001' to `111', then the value indicates the number of bits that will be received.
Document #: 38-08015 Rev. *E
Page 88 of 119
CY7C67300
7.12.3 SPI Interrupt Enable Register [0xC0CC] [R/W]
15 0 7 14 0 6 13 0 5 ...Reserved 12 Reserved... 0 4 0 3 0 2 Receive Interrupt Enable 0 0 R/W 0 0 1 Transmit Interrupt Enable R/W 0 0 0 Transfer Interrupt Enable R/W 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field
Read/Write Default
0
0
0
Figure 7-75. SPI Interrupt Enable Register Register Description The SPI Interrupt Enable Register controls the SPI port. Receive Interrupt Enable (Bit 2) The Receive Interrupt Enable bit will enable or disable the byte mode receive interrupt (RxIntVal). 1: Enable byte mode receive interrupt 0: Disable byte mode receive interrupt Transmit Interrupt Enable (Bit 1) The Transmit Interrupt Enable bit will enable or disable the byte mode transmit interrupt (TxIntVal). 1: Enables byte mode transmit interrupt 0: Disables byte mode transmit interrupt Transfer Interrupt Enable (Bit 0) The Transfer Interrupt Enable bit will enable or disable the block mode interrupt (XfrBlkIntVal). 1: Enables block mode interrupt 0: Disables block mode interrupt Reserved All reserved bits should be written as `0'. 7.12.4 SPI Status Register [0xC0CE] [R]
15 0 7 FIFO Error Flag R 0 0 0 14 0 6 13 0 5 12 Reserved 0 4 0 3 0 2 Receive Interrupt Flag 0 0 R 0 0 1 Transmit Interrupt Flag R 0 0 0 Transfer Interrupt Flag R 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field
Reserved
Read/Write Default
Figure 7-76. SPI Status Register Register Description The SPI Status Register is a read-only register that provides status for the SPI port.
Document #: 38-08015 Rev. *E
Page 89 of 119
CY7C67300
FIFO Error Flag (Bit 7) The FIFO Error Flag bit is a read-only bit that indicates if a FIFO error occurred. When this bit is set to `1' and the Transmit Empty bit of the SPI Control Register is set to `1', then a Tx FIFO underflow has occurred. Similarly, when set with the Receive Full bit of the SPI Control Register, an Rx FIFO overflow has occured.This bit automatically clears when the SPI FIFO Init Enable bit of the SPI Control register is set. 1: Indicates FIFO error 0: Indicates no FIFO error Receive Interrupt Flag (Bit 2) The Receive Interrupt Flag is a read-only bit that indicates if a byte mode receive interrupt has triggered. 1: Indicates a byte mode receive interrupt has triggered 0: Indicates a byte mode receive interrupt has not triggered Transmit Interrupt Flag (Bit 1) The Transmit Interrupt Flag is a read-only bit that indicates a byte mode transmit interrupt has triggered. 1: Indicates a byte mode transmit interrupt has triggered 0: Indicates a byte mode transmit interrupt has not triggered Transfer Interrupt Flag (Bit 0) The Transfer Interrupt Flag is a read-only bit that indicates a block mode interrupt has triggered. 1: Indicates a block mode interrupt has triggered 0: Indicates a block mode interrupt has not triggered 7.12.5 SPI Interrupt Clear Register [0xC0D0] [W]
15 0 7 14 0 6 13 0 5 Reserved 12 Reserved 0 4 0 3 0 2 0 1 Transmit Interrupt Clear 0 0 0 W 0 0 0 Transfer Interrupt Clear W 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field
Read/Write Default
0
0
0
Figure 7-77. SPI Interrupt Clear Register Register Description The SPI Interrupt Clear Register is a write-only register that allows the SPI Transmit and SPI Transfer Interrupts to be cleared. Transmit Interrupt Clear (Bit 1) The Transmit Interrupt Clear bit is a write-only bit that will clear the byte mode transmit interrupt. This bit is self-clearing. 1: Clear the byte mode transmit interrupt 0: No function Transfer Interrupt Clear (Bit 0) The Transfer Interrupt Clear bit is a write-only bit that will clear the block mode interrupt. This bit is self-clearing. 1: Clear the block mode interrupt 0: No function Reserved All reserved bits should be written as `0'.
Document #: 38-08015 Rev. *E
Page 90 of 119
CY7C67300
7.12.6 SPI CRC Control Register [0xC0D2] [R/W]
15 CRC Mode R/W 0 7 0 R/W 0 6 0 14 13 CRC Enable R/W 0 5 0 12 CRC Clear R/W 0 4 ...Reserved 0 0 0 0 0 11 Receive CRC R/W 0 3 10 One in CRC R 0 2 9 Zero in CRC R 0 1 8 Reserved... 0 0
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-78. SPI CRC Control Register Register Description The SPI CRC Control Register provides control over the CRC source and polynomial value. CRC Mode (Bits [15:14) The CRCMode field selects the CRC polynomial as defined in Table 7-14. Table 7-14. CRC Mode Definition CRCMode [9:8] 00 01 10 11 CRC Enable (Bit 13) The CRC Enable bit will enable or disable the CRC operation. 1: Enables CRC operation 0: Disables CRC operation CRC Clear (Bit 12) The CRC Clear bit will clear the CRC with a load of all ones. This bit is self clearing and always reads `0'. 1: Clear CRC with all ones 0: No Function Receive CRC (Bit 11) The Receive CRC bit determines whether the receive bit stream or the transmit bit stream is used for the CRC data input in full duplex mode. This bit is a don't care in half duplex mode. 1: Assigns the receive bit stream 0: Assigns the transmit bit stream One in CRC (Bit 10) The One in CRC bit is a read-only bit that indicates if the CRC value is all zeros or not 1: CRC value is not all zeros 0: CRC value is all zeros Zero in CRC (Bit 9) The Zero in CRC bit is a read-only bit that indicates if the CRC value is all ones or not 1: CRC value is not all ones 0: CRC value is all ones Reserved All reserved bits should be written as `0'. Document #: 38-08015 Rev. *E Page 91 of 119 CRC Polynomial MMC 16-bit: X^16 + X^12 + X^5 + 1(CCITT Standard) CRC7 7-bit: X^7+ X^3 + 1 MST 16-bit: X^16+ X^15 + X^2 + 1 Reserved, 16-bit polynomial 1.
CY7C67300
7.12.7 SPI CRC Value Register [0xC0D4] [R/W]
15 R/W 1 7 R/W 1 14 R/W 1 6 R/W 1 13 R/W 1 5 R/W 1 12 CRC... R/W 1 4 ...CRC R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 3 R/W 1 2 R/W 1 1 R/W 1 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-79. SPI CRC Value Register Register Description The SPI CRC Value Register contains the CRC value. CRC (Bits [15:0]) The CRC field contains the SPI CRC. In CRC Mode CRC7, the CRC value will be a seven bit value [6:0]. Therefore bits [15:7] are invalid in CRC7 mode. 7.12.8 SPI Data Register [0xC0D6] [R/W]
15 X 7 R/W X 14 X 6 R/W X 13 X 5 R/W X 12 Reserved X 4 Data R/W X R/W X R/W X R/W X R/W X X 3 X 2 X 1 X 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-80. SPI Data Register Register Description The SPI Data Register contains data received on the SPI port when read. Reading it empties the eight byte receive FIFO in PIO byte mode. This receive data is valid when the receive bit of the SPI Interrupt Value is set to `1' (RxIntVal triggers) or the Receive Data Ready bit of the SPI Control Register is set to `1'. Writing to this register in PIO byte mode will initiate a transfer of data, the number of bits defined by Transmit Bit Length field in the SPI Control Register. Data (Bits [7:0]) The Data field contains data received or to be transmitted on the SPI port. Reserved All reserved bits should be written as `0'.
Document #: 38-08015 Rev. *E
Page 92 of 119
CY7C67300
7.12.9 SPI Transmit Address Register [0xC0D8] [R/W]
15 R/W 0 7 R/W 0 14 R/W 0 6 R/W 0 13 R/W 0 5 R/W 0 12 Address... R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-81. SPI Transmit Address Register Register Description The SPI Transmit Address Register is used as the base address for the SPI transmit DMA. Address (Bits [15:0]) The Address field sets the base address for the SPI transmit DMA. 7.12.10 SPI Transmit Count Register [0xC0DA] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 0 7 0 6 15 14 13 Reserved 0 5 0 4 ...Count R/W 0 R/W 0 R/W 0 R/W 0 0 3 R/W 0 2 12 11 10 9 Count... R/W 0 1 R/W 0 0 8
Figure 7-82. SPI Transmit Count Register Register Description The SPI Transmit Count Register designates the block byte length for the SPI transmit DMA transfer. Count (Bits [10:0]) The Count field sets the count for the SPI transmit DMA transfer. Reserved All reserved bits should be written as `0'. 7.12.11 SPI Receive Address Register [0xC0DC [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 7 R/W 0 6 R/W 0 5 R/W 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 15 14 13 12 Address... R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Figure 7-83. SPI Receive Address Register
Document #: 38-08015 Rev. *E
Page 93 of 119
CY7C67300
Register Description The SPI Receive Address Register is issued as the base address for the SPI Receive DMA. Address (Bits [15:0]) The Address field sets the base address for the SPI receive DMA. 7.12.12 SPI Receive Count Register [0xC0DE] [R/W]
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 0 7 0 6 15 14 13 Reserved 0 5 0 4 ...Count R/W 0 R/W 0 R/W 0 R/W 0 0 3 R/W 0 2 12 11 10 9 Count... R/W 0 1 R/W 0 0 8
Figure 7-84. SPI Receive Count Register Register Description The SPI Receive Count Register designates the block byte length for the SPI receive DMA transfer. Count (Bits [10:0]) The Count field sets the count for the SPI receive DMA transfer. Reserved All reserved bits should be written as `0'.
7.13
UART Registers
There are three registers dedicated to UART operation. Each of these registers is covered in this section and summarized in Figure 7-85. Register Name UART Control Register UART Status Register UART Data Register 0xC0E0 0xC0E2 0xC0E4 Figure 7-85. UART Registers 7.13.1 UART Control Register [0xC0E0] [R/W]
15 0 7 0 14 0 6 ...Reserved 0 0 13 0 5 12 Reserved... 0 4 Scale Select R/W 0 R/W 0 0 3 0 2 Baud Select R/W 1 R/W 1 0 1 0 0 UART Enable R/W 1 11 10 9 8
Address R/W R R/W
R/W
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-86. UART Control Register Register Description The UART Control Register enables or disables the UART allowing GPIO28 (UART_TXD) and GPIO27 (UART_RXD) to be freed up for general use. This register must also be written to set the baud rate which is based on a 48-MHz clock.
Document #: 38-08015 Rev. *E
Page 94 of 119
CY7C67300
Scale Select (Bit 4) The Scale Select bit acts as a prescaler that will divide the baud rate by eight. 1: Enable prescaler 0: Disable prescaler Baud Select (Bits [3:1]) Please refer to Table 7-15 for a definition of this field. Table 7-15. UART Baud Select Definition Baud Select [3:1] 000 001 010 011 100 101 110 111 UART Enable (Bit 0) The UART Enable bit enables or disables the UART. 1: Enable UART 0: Disable UART. This allows GPIO28 and GPIO27 to be used for general use. Reserved All reserved bits should bit written as `0'. 7.13.2 UART Status Register [0xC0E2] [R]
15 0 7 0 14 0 6 0 13 0 5 ...Reserved 0 0 0 0 4 12 Reserved... 0 3 0 2 0 1 Receive Full R 0 0 0 Transmit Full R 0 0 11 10 9 8
Baud Rate w/ DIV8 = 0 115.2 KBaud 57.6 KBaud 38.4 KBaud 28.8 KBaud 19.2 KBaud 14.4 KBaud 9.6 KBaud 7.2 KBaud
Baud Rate w/ DIV8 = 1 14.4 KBaud 7.2 KBaud 4.8 KBaud 3.6 KBaud 2.4 KBaud 1.8 KBaud 1.2 KBaud 0.9 KBaud
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-87. UART Status Register Register Description The UART Status Register is a read-only register that indicates the status of the UART buffer. Receive Full (Bit 1) The Receive Full bit indicates whether the receive buffer is full. It can be programmed to interrupt the CPU as interrupt #5 when the buffer is full. This can be done though the UART bit of the Interrupt Enable Register (0xC00E). This bit will automatically get cleared when data is read from the UART Data Register. 1: Receive buffer full 0: Receive buffer empty Transmit Full (Bit 0) The Transmit Full bit indicates whether the transmit buffer is full or not. It can be programmed to interrupt the CPU as interrupt #4 when the buffer is empty. This can be done though the UART bit of the Interrupt Enable Register (0xC00E). This bit will
Document #: 38-08015 Rev. *E
Page 95 of 119
CY7C67300
automatically be set to `1' after data is written by EZ-Host to the UART Data Register (to be transmitted). This bit will automatically be cleared to `0' after the data is transmitted. 1: Transmit buffer full (transmit busy) 0: Transmit buffer is empty and ready for a new byte of data 7.13.3
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 0 7 0 6 0 5 0 4 Data R/W 0 R/W 0 R/W 0 R/W 0
UART Data Register [0xC0E4] [R/W]
15 14 13 12 Reserved 0 3 0 2 0 1 0 0 11 10 9 8
Figure 7-88. UART Data Register Register Description The UART Data Register contains data to be transmitted or received from the UART port. Data written to this register will start a data transmission and also causes the UART Transmit Full Flag of the UART Status Register to set. When data received on the UART port is read from this register, the UART Receive Full Flag of the UART Status Register will get cleared. Data (Bits [7:0]) The Data field is where the UART data to be transmitted or received is located Reserved All reserved bits should be written as `0'.
7.14
PWM Registers
There are eleven registers dedicated to PWM operation. Each of these registers are covered in this section and summarized in Figure 7-89. Register Name PWM Control Register PWM Maximum Count Register PWM0 Start Register PWM0 Stop Register PWM1 Start Register PWM1 Stop Register PWM2 Start Register PWM2 Stop Register PWM3 Start Register PWM3 Stop Register PWM Cycle Count Register 0xC0E6 0xC0E8 0xC0EA 0xC0EC 0xC0EE 0xC0F0 0xC0F2 0xC0F4 0xC0F6 0xC0F8 0xC0FA Figure 7-89. PWM Registers Address R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Document #: 38-08015 Rev. *E
Page 96 of 119
CY7C67300
7.14.1 PWM Control Register [0xC0E6] [R/W]
15 PWM Enable R/W 0 7 PWM 3 Polarity Select R/W 0 0 6 PWM 2 Polarity Select R/W 0 14 13 Reserved 0 5 PWM 1 Polarity Select R/W 0 0 4 PWM 0 Polarity Select R/W 0 R/W 0 3 PWM 3 Enable R/W 0 12 11 10 Prescale Select R/W 0 2 PWM 2 Enable R/W 0 R/W 0 1 PWM 1 Enable R/W 0 9 8 Mode Select R/W 0 0 PWM 0 Enable R/W 0
Bit # Field Read/Write Default Bit # Field
Read/Write Default
Figure 7-90. PWM Control Register Register Description The PWM Control Register provides high-level control over all four of the PWM channels. PWM Enable (Bit 15) The PWM Enable bit starts and stops PWM operation. 1: Start operation 0: Stop operation Prescale Select (Bits [11:9]) The Prescale Select field sets the frequency of all the PWM channels as defined in Table 7-16. Table 7-16. Prescaler Select Definition Prescale Select [11:9] 000 001 010 011 100 101 110 111 Mode Select (Bit 8) The Mode Select bit selects between continuous PWM cycling and one shot mode. The default is continuous repeat. 1: Enable One Shot mode. The mode runs the number of counter cycles set in the PWM Cycle Count Register and then stops. 0: Enable Continuous mode. Runs in continuous mode and starts over once the PWM cycle count is reached. PWM 3 Polarity Select (Bit 7) The PWM 3 Polarity Select bit selects the polarity for PWM 3. 1: Sets the polarity to active HIGH or rising edge pulse 0: Sets the polarity to active LOW PWM 2 Polarity Select (Bit 6) The PWM 2 Polarity Select bit selects the polarity for PWM 2. 1: Sets the polarity to active HIGH or rising edge pulse 0: Sets the polarity to active LOW Frequency 48.00 MHz 24.00 MHz 06.00 MHz 01.50 MHz 375 kHz 93.80 kHz 23.40 kHz 05.90 kHz
Document #: 38-08015 Rev. *E
Page 97 of 119
CY7C67300
PWM 1 Polarity Select (Bit 5) The PWM 1 Polarity Select bit selects the polarity for PWM 1. 1: Sets the polarity to active HIGH or rising edge pulse 0: Sets the polarity to active LOW PWM 0 Polarity Select (Bit 4) The PWM 0 Polarity Select bit selects the polarity for PWM 0. 1: Sets the polarity to active HIGH or rising edge pulse 0: Sets the polarity to active LOW PWM 3 Enable (Bit 3) The PWM 3 Enable bit enables or disables PWM 3. 1: Enable PWM 3 0: Disable PWM 3 PWM 2 Enable (Bit 2) The PWM 2 Enable bit enables or disables PWM 2. 1: Enable PWM 2 0: Disable PWM 2 PWM 1 Enable (Bit 1) The PWM 1 Enable bit enables or disables PWM 1. 1: Enable PWM 1 0: Disable PWM 1 PWM 0 Enable (Bit 0) The PWM 0 Enable bit enables or disables PWM 0. 1: Enable PWM 0 0: Disable PWM 0 7.14.2 PWM Maximum Count Register [0xC0E8] [R/W]
15 0 7 R/W 0 14 0 6 R/W 0 13 Reserved 0 5 R/W 0 0 4 ...Count R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 0 3 0 2 R/W 0 1 12 11 10 9 Count... R/W 0 0 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-91. PWM Maximum Count Register Register Description The PWM Maximum Count Register designates the maximum window for each pulse cycle. Each count tick is based on the clock frequency set in the PWM Control Register. Count (Bits [9:0]) The Count field sets the maximum cycle time. Reserved All reserved bits should be written as `0'.
Document #: 38-08015 Rev. *E
Page 98 of 119
CY7C67300
7.14.3 PWM n Start Register [R/W] * PWM 0 Start Register 0xC0EA * PWM 1 Start Register 0xC0EE * PWM 2 Start Register 0xC0F2 * PWM 3 Start Register 0xC0F6
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 0 7 0 6 0 5 15 14 13 Reserved 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 0 3 0 2 R/W 0 1 12 11 10 9 Address... R/W 0 0 8
Figure 7-92. PWM n Start Register Register Description The PWM n Start Register designates where in the window defined by the PWM Maximum Count Register to start the PWM pulse for a given channel. Address (Bits [9:0]) The Address field designates when to start the PWM pulse. If this start value is equal to the Stop Count Value then the output stays at false. Reserved All reserved bits should be written as `0'. 7.14.4 PWM n Stop Register [R/W] * PWM 0 Stop Register 0xC0EC * PWM 1 Stop Register 0xC0F0 * PWM 2 Stop Register 0xC0F4 * PWM 3 Stop Register 0xC0F8
Bit # Field Read/Write Default Bit # Field Read/Write Default R/W 0 R/W 0 R/W 0 R/W 0 0 7 0 6 0 5 15 14 13 Reserved 0 4 ...Address R/W 0 R/W 0 R/W 0 R/W 0 0 3 0 2 R/W 0 1 12 11 10 9 Address... R/W 0 0 8
Figure 7-93. PWM n Stop Register Register Description The PWM n Stop Register designates where in the window defined by the PWM Maximum Count Register to stop the PWM pulse for a given channel. Address (Bits [9:0]) The Address field designates when to stop the PWM pulse. If the PWM Start value is equal to the PWM Stop value then the output stays at `0'. If the PWM Stop value is greater then the PWM Maximum Count value then the output stays at true. Reserved All reserved bits should bit written as `0'.
Document #: 38-08015 Rev. *E
Page 99 of 119
CY7C67300
7.14.5 PWM Cycle Count Register [0xC0FA] [R/W]
15 R/W 0 7 R/W 0 14 R/W 0 6 R/W 0 13 R/W 0 5 R/W 0 12 Count... R/W 0 4 ...Count R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 3 R/W 0 2 R/W 0 1 R/W 0 0 11 10 9 8
Bit # Field Read/Write Default Bit # Field Read/Write Default
Figure 7-94. PWM Cycle Count Register Register Description The PWM Cycle Count Register designates the number of cycles to run when in one shot mode. One shot mode is enabled by setting the Mode Select bit of the PWM Control Register to `1'. Count (Bits [9:0]) The Count field designates the number of cycles (plus one) to run when in one shot mode. For example, Cycles = PWM Cycle Count + 1, therefore for 2 cycles set PWM Cycle Count = 1.
Document #: 38-08015 Rev. *E
Page 100 of 119
CY7C67300
8.0 Pin Diagram
GPIO4/D4 GPIO3/D3 GPIO2/D2 GPIO0/D0 A17 GPIO7/D7 GPIO6/D6 VCC GPIO5/D5 GPIO1/D1 D1 D0 Reserved nBEH nBEL/A0 nRESET
100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76
GND
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
A16
A18
D4 D3 D2
D7 D6
75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51
D5
A1 A2 A3 DM2B DP2B AGND A4 A5 DM2A DP2A OTGVBUS CSWITCHB CSWITCHA VSWITCH BOOSTGND BOOSTVCC A6 DM1B DP1B A7 AVCC DM1A DP1A A8 A9
GND D8/MISO D9/nSSI D10/SCK D11/MOSI D12/TXD D13/RXD D14/RTS D15/CTS GPIO8/D8/MISO GPIO9/D9/nSSI nWR VCC nRD GPIO10/D10/SCK GPIO11/D11/MOSI GPIO12/D12 GPIO13/D13 GPIO14/D14 GPIO15/D15/nSSI GPIO16/A0/TXD/PWM0 GPIO17/A1/RXD/PWM1 GPIO18/A2/RTS/PWM2 GPIO19/A0/CS0 GND
CY7C67300
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
GND
GPIO23/nRD/IOR GPIO24/INT/IORDY/IRQ0 GPIO25/IRQ1 GPIO26/CTS/PWM3
nXMEMSEL
nXRAMSEL nXROMSEL
GPIO31/SCL A15/CLKSEL
GPIO28/TX GPIO29/OTGID GPIO30/SDA
A12 A11 XTALIN XTALOUT A10
A13
GPIO27/RX
GPIO21/nCS GPIO22/nWR/IOW
A14
GPIO20/A1/CS1
VCC
9.0
Pin 67 68 69 70 71
Pin Descriptions
Name D15/CTS D14/RTS D13/RXD D12/TXD D11/MOSI Type I/O I/O I/O I/O I/O Description D15: External Memory Data Bus CTS: HSS CTS D14: External Memory Data Bus RTS: HSS RTS D13: External Memory Data Bus RXD: HSS RXD (Data is received on this pin) D12: External Memory Data Bus TXD: HSS TXD (Data is transmitted from this pin) D11: External Memory Data Bus MOSI: SPI MOSI Page 101 of 119
Table 9-1. Pin Descriptions
Document #: 38-08015 Rev. *E
CY7C67300
Table 9-1. Pin Descriptions (continued) Pin 72 73 74 76 77 78 79 80 81 82 83 33 32 31 30 27 25 24 20 17 8 7 3 2 1 99 98 64 62 97 95 96 34 35 36 38 Name D10/SCK D9/nSSI D8/MISO D7 D6 D5 D4 D3 D2 D1 D0 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 nBEL/A0 nBEH nWR nRD A16 A17 A18 nMEMSEL nROMSEL nRAMSEL A15/CLKSEL Type I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output I/O Description D10: External Memory Data Bus SCK: SPI SCK D9: External Memory Data Bus nSSI: SPI nSSI D8: External Memory Data Bus MISO: SPI MISO External Memory Data Bus
External Memory Address Bus
39 40
GPIO31/SCK GPIO30/SDA
I/O I/O
nBEL: Low Byte Enable for 16-bit Memories A0: External Memory Address bit A0 for 0-8 bit memories High Byte Enable for 16-bit memories External Memory Write pulse External Memory Read pulse A16: External SRAM A16 A17: External SRAM A17 A18: External SRAM A18 External Memory Select 0 External Memory Select 1 External Memory Select 2 A15: External SRAM A15 CLKSEL: Sampled directly after reset to determine what crystal or clock source frequency is being used. 12MHz is required for normal operation so the CLKSEL pin must have a 47 kohm Pull-up to VCC. After reset this pin will function as A15. GPIO31: General Purpose I/O SCK: I2C EEPROM SCK GPIO30: General Purpose I/O SDA: I2C EEPROM SDA
Document #: 38-08015 Rev. *E
Page 102 of 119
CY7C67300
Table 9-1. Pin Descriptions (continued) Pin 41 Name GPIO29/OTGID Type I/O Description GPIO29: General Purpose I/O OTGID: Input for OTG ID pin. When used as OTGID, this pin should be tied high through an external pull-up resistor. Assuming VCC=3.0V, a 10K to 40K resistor should be used. GPIO28: General Purpose I/O TX: UART TX (Data is transmitted from this pin) GPIO27: General Purpose I/O RX: UART RX (Data is received on this pin) GPIO26: General Purpose I/O CTS: HSS CTS PWM3: PWM channel 3 GPIO25: General Purpose I/O IRQ1: Interrupt Request 1. See Register 0xC006. This pin is also one of two possible GPIO wakeup sources. GPIO24: General Purpose I/O INT: HPI INT IORDY: IDE IORDY IRQ0: Interrupt Request 0. See Register 0xC006. This pin is also one of two possible GPIO wakeup sources. GPIO23: General Purpose I/O nRD: HPI nRD IOR: IDE IOR GPIO22: General Purpose I/O nWR: HPI nWR IOW: IDE IOW GPIO21: General Purpose I/O nCS: HPI nCS GPIO20: General Purpose I/O A1: HPI A1 CS1: IDE CS1 GPIO19: General Purpose I/O A0: HPI A0 CS0: IDE CS0 GPIO18: General Purpose I/O A2: IDE A2 RTS: HSS RTS PWM2: PWM channel 2 GPIO17: General Purpose I/O A1: IDE A1 RXD: HSS RXD (Data is received on this pin) PWM1: PWM channel 1 GPIO16: General Purpose I/O A0: IDE A0 TXD: HSS TXD (Data is transmitted from this pin) PWM0: PWM channel 0 GPIO15: General Purpose I/O D15: D15 for HPI or IDE nSSI: SPI nSSI GPIO14: General Purpose I/O D14: D14 for HPI or IDE GPIO13: General Purpose I/O D13: D13 for HPI or IDE GPIO12: General Purpose I/O D12: D12 for HPI or IDE
42 43 44
GPIO28/TX GPIO27/RX GPIO26/CTS/PWM3
I/O I/O I/O
45
GPIO25/IRQ1
I/O
46
GPIO24/INT/ IORDY/IRQ0
I/O
47
GPIO23/nRD/IOR
I/O
48
GPIO22/nWR/IOW
I/O
49 50
GPIO21/nCS GPIO20/A1/CS1
I/O I/O
52
GPIO19/A0/CS0
I/O
53
GPIO18/A2/RTS/ PWM2
I/O
54
GPIO17/A1/RXD/ PWM1
I/O
55
GPIO16/A0/TXD/ PWM0
I/O
56
GPIO15/D15/nSSI
I/O
57 58 59
GPIO14/D14 GPIO13/D13 GPIO12/D12
I/O I/O I/O
Document #: 38-08015 Rev. *E
Page 103 of 119
CY7C67300
Table 9-1. Pin Descriptions (continued) Pin 60 Name GPIO11/D11/MOSI Type I/O Description GPIO11: General Purpose I/O D11: D11 for HPI or IDE MOSI: SPI MOSI GPIO10: General Purpose I/O D10: D10 for HPI or IDE SCK: SPI SCK GPIO9: General Purpose I/O D9: D9 for HPI or IDE nSSI: SPI nSSI GPIO8: General Purpose I/O D8: D8 for HPI or IDE MISO: SPI MISO GPIO7: General Purpose I/O D7: D7 for HPI or IDE GPIO6: General Purpose I/O D6: D6 for HPI or IDE GPIO5: General Purpose I/O D5: D5 for HPI or IDE GPIO4: General Purpose I/O D4: D4 for HPI or IDE GPIO3: General Purpose I/O D3: D3 for HPI or IDE GPIO2: General Purpose I/O D2: D2 for HPI or IDE GPIO1: General Purpose I/O D1: D1 for HPI or IDE GPIO0: General Purpose I/O D0: D0 for HPI or IDE USB Port 1A D- USB Port 1A D+ USB Port 1B D- USB Port 1B D+ USB Port 2A D- USB Port 2A D+ USB Port 2B D- USB Port 2B D+ Crystal input or Direct Clock input Crystal output. Leave floating if direct clock source is used. Reset Tie to Gnd for normal operation. Booster Power input: 2.7V to 3.6V Booster switching output Booster Ground USB OTG Vbus Charge Pump Capacitor Charge Pump Capacitor USB Power USB Ground Main VCC Main Ground
61
GPIO10/D10/SCK
I/O
65
GPIO9/D9/nSSI
I/O
66
GPIO8/D8/MISO
I/O
86 87 89 90 91 92 93 94 22 23 18 19 9 10 4 5 29 28 85 84 16 14 15 11 13 12 21 6 37, 63, 88 26, 51, 75, 100
GPIO7/D7 GPIO6/D6 GPIO5/D5 GPIO4/D4 GPIO3/D3 GPIO2/D2 GPIO1/D1 GPIO0/D0 DM1A DP1A DM1B DP1B DM2A DP2A DM2B DP2B XTALIN XTALOUT nRESET Reserved BOOSTVCC VSWITCH BOOSTGND OTGVBUS CSWITCHA CSWITCHB AVCC AGND VCC GND
I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O Input Output Input Power Analog Output Ground Analog I/O Analog Analog Power Ground Power Ground
Document #: 38-08015 Rev. *E
Page 104 of 119
CY7C67300
10.0 Absolute Maximum Ratings
This section lists the absolute maximum ratings. Stresses above those listed can cause permanent damage to the device. Exposure to maximum rated conditions for extended periods can affect device operation and reliability. Storage Temperature .................................................................................................................................... -40C to +125C Ambient Temperature with Power Supplied .................................................................................................... -40C to +85C Supply Voltage to Ground Potential ....................................................................................................................0.0V to +3.6V DC Input Voltage to Any General Purpose Input Pin ....................................................................................................... 5.5V DC Voltage Applied to XTALIN ............................................................................................................... -0.5V to VCC + 0.5V Static Discharge Voltage ............................................................................................................................................ > 2000V Max Output Current, per I/O ........................................................................................................................................... 4 mA
11.0
Operating Conditions
TA (Ambient Temperature Under Bias) ........................................................................................................... -40C to +85C Supply Voltage (VCC, AVCC) .............................................................................................................................+3.0V to +3.6V Supply Voltage (BoostVCC)[7] ............................................................................................................................+2.7V to +3.6V Ground Voltage .................................................................................................................................................................... 0V FOSC (Oscillator or Crystal Frequency) ...................................................................................................... 12 MHz 500 ppm Parallel Resonant
12.0
Crystal Requirements (XTALIN, XTALOUT)
Crystal Requirements (XTALIN, XTALOUT)
Table 12-1. Crystal Requirements Min. -500 20 Typical 12 +500 33 500 5 Max. Unit MHz PPM pF W ms
Parallel Resonant Frequency Frequency Stability Load Capacitance Driver Level Start-up Time Mode of Vibration: Fundamental
13.0
DC Characteristics
Description Supply Voltage Supply Voltage Input HIGH Voltage Input LOW Voltage Input Leakage Current Output Voltage HIGH Output LOW Voltage Output Current HIGH Output Current LOW 0< VIN < VCC IOUT = 4 mA IOUT = -4 mA -10.0 2.4 0.4 4 4 Conditions Min. 3.0 2.7 2.0 Typ. 3.3 Max. 3.6 3.6 5.5 0.8 +10.0 Unit V V V V A V V mA mA
Table 13-1. DC Characteristics [8] Parameter VCC, AVCC BoosVCC VIH VIL II VOH VOL IOH IOL
Notes: 7. The on-chip voltage booster circuit boosts BoostVCC to provide a nominal 3.3V VCC supply. 8. All tests were conducted with Charge pump off.
Document #: 38-08015 Rev. *E
Page 105 of 119
CY7C67300
Table 13-1. DC Characteristics (continued)[8] Parameter CIN VHYS ICC
[9, 10]
Description Input Pin Capacitance Hysteresis on nReset Pin Supply Current Sleep Current D+/D-
Conditions Except D+/D-
Min.
Typ.
Max. 10 15
Unit pF pF mV mA mA A A A A
250 4 transceivers powered USB Peripheral: includes 1.5K internal pull-up Without 1.5K internal pull-up 80 135 210 5 190 5 100 180 500 30 500 30
ICCB[9, 10] ISLEEP
Supply Current with Booster Enabled 4 transceivers powered
ISLEEPB
Sleep Current with Booster Enabled USB Peripheral: includes 1.5K internal pull-up Without 1.5K internal pull-up
Table 13-2. DC Characteristics: Charge Pump Parameter VA_VBUS_OUT TA_VBUS_RISE IA_VBUS_OUT CDRD_VBUS VA_VBUS_LKG VDRD_DATA_LKG ICHARGE ICHARGEB IB_DSCHG_IN VA_VBUS_VALID VA_SESS_VALID VB_SESS_VALID VA_SESS_END E RPD RA_BUS_IN RB_SRP_UP RB_SRP_DWN Description Regulated OTGVBUS Voltage VBUS Rise Time Maximum Load Current OUTVBUS Bypass Capacitance OTGVBUS Leakage Voltage Dataline Leakage Voltage Charge Pump Current Draw Charge Pump Current Draw with Booster Active B-Device (SRP Capable) Discharge Current A-Device VBUS Valid A-Device Session Valid B-Device Session Valid B-Device Session End Efficiency When Loaded Data Line Pull-down A-device VBUS Input Impedance to GND B-device VBUS SRP Pull-up B-device VBUS SRP Pull-down VBUS is not being driven Pull-up voltage = 3.0V ILOAD = 8mA, VCC = 3.3V 14.25 40 281 656 ILOAD = 8 mA ILOAD = 0 mA ILOAD = 8 mA ILOAD = 0 mA 0V< VBUS < 5.25V 4.4 0.8 0.8 0.2 75 24.8 100 2.0 4.0 0.8 20 0 30 0 4.4V< VBUS < 5.25V OTGVBUS not driven Conditions 8 mA< ILOAD < 10 mA ILOAD = 10 mA 8 1.0 Min. 4.4 Typ. Max. 5.25 100 10 6.5 200 342 20 1 45 5 8 Unit V ms mA pF mV mV mA mA mA mA mA V V V V % k
13.1
USB Transceiver
USB 2.0-certified in full- and low-speed modes.
Notes: 9. ICC and ICCB values are the same regardless of USB host or peripheral configuration. 10. There is no appreciable difference in ICC and ICCB values when only two transceivers are powered.
Document #: 38-08015 Rev. *E
Page 106 of 119
CY7C67300
14.0
14.1
AC Timing Characteristics
Reset Timing
tRESET
nRESET nRD or nWRL or nWRH
tIOACT
Reset Timing
Parameter tRESET tIOACT Description nRESET pulse width nRESET HIGH to nRD or nWRx active Min. 16 200 Typical Max. Unit clocks[11] s
14.2
Clock Timing
tCLK
XTALIN
tHIGH
tLOW tFALL tRISE
Clock Timing
Parameter fCLK vXINH[12] tCLK tHIGH tLOW tRISE tFALL Duty Cycle Description Clock frequency Clock input high (XTALOUT left floating) Clock period Clock high time Clock low time Clock rise time Clock fall time 45 1.5 83.17 36 36 Min. Typical 12.0 3.0 83.33 3.6 83.5 44 44 5.0 5.0 55 V ns ns ns ns ns % Max. Unit MHz
Notes: 11. Clock is 12-MHz nominal. 12. vXINH is required to be 3.0 V to obtain an internal 50/50 duty cycle clock.
Document #: 38-08015 Rev. *E
Page 107 of 119
CY7C67300
14.3 SRAM Read Cycle
Address
CS
t AR tCR
RD
t RPW t CDH t AC t RDH
Din
Data Valid
Parameter tCR tRDH tCDH tRPW[13] tAR tAC[14]
Description CS LOW to RD LOW RD HIGH to data hold CS HIGH to data hold RD LOW time RD LOW to address valid RAM access to data valid
Min. 1 0 0 38
Typical
Max.
Unit ns ns ns
45 0 12
ns ns ns
Notes: 13. 0 wait state cycle. 14. tAC External SRAM access time = 12 ns for zero and one wait states. The External SRAM access time = 12 ns + (n - 1)*T for wait states = n, n > 1, T = 48-MHz clock period.
Document #: 38-08015 Rev. *E
Page 108 of 119
CY7C67300
14.4 SRAM Write Cycle
Address
t AW tCSW
CS
tWC
WE
t WPW
t DW
t DH
Dout
Data Valid
Parameter tAW tCSW tDW tWPW[15] tDH tWC
Description Write address valid to WE LOW CS LOW to WE LOW Data valid to WE HIGH WE pulse width Data hold from WE HIGH WE HIGH to CS HIGH
Min. 7 7 15 15 4.5 13
Typical
Max.
Unit ns ns ns ns ns ns
Note: 15. tWPW The write pulse width = 18.8 ns min. for zero and one wait states. The write pulse = 18.8 ns + (n - 1)*T for wait states = n, n > 1, T = 48-MHz clock period.
Document #: 38-08015 Rev. *E
Page 109 of 119
CY7C67300
14.5 I2C EEPROM Timing
1. I2C EEPROM Bus Timing - Serial I/O
tLOW tHIGH
tR
tF
SCL
tSU.STA tHD.STA tHD.DAT tSU.DAT tSU.STO tBUF
SDA IN
tAA tDH
SDA OUT
Parameter fSCL tLOW tHIGH tAA tBUF tHD.STA tSU.STA tHD.DAT tSU.DAT tR tF tSU.STO tDH Clock Frequency
Description Clock Pulse Width Low Clock Pulse Width High Clock Low to Data Out Valid Bus Idle Before New Transmission Start Hold Time Start Set-up Time Data In Hold Time Data In Set-up Time Input Rise Time Input Fall Time Stop Set-up Time Data Out Hold Time
Min. 1300 600 900 1300 600 600 0 100
Typical
Max. 400
Unit kHz ns ns ns ns ns ns ns ns
300 300 600 0
ns ns ns ns
Document #: 38-08015 Rev. *E
Page 110 of 119
CY7C67300
14.6 HPI (Host Port Interface) Write Cycle Timing
tCYC
tASU
tWP
tAH
ADDR [1:0]
tCSSU tCSH
nCS
nWR
nRD
Dout [15:0]
tDSU tWDH
Parameter
Description
Min.
Typical
Max.
Unit
tASU tAH tCSSU tCSH tDSU tWDH tWP tCYC
Address set-up Address hold Chip select set-up Chip select hold Data set-up Write data hold Write pulse width Write cycle time
-1 -1 -1 -1 6 2 2 6
ns ns ns ns ns ns T[16] T[16]
Note: 16. T = system clock period = 1/48 MHz.
Document #: 38-08015 Rev. *E
Page 111 of 119
CY7C67300
14.7 HPI (Host Port Interface) Read Cycle Timing
tCYC
tASU
tRP
tAH
ADDR [1:0]
tCSSU tCSH
nCS
nWR
tRDH
nRD
Din [15:0]
tACC tRDH
Parameter
Description
Min.
Typical
Max.
Unit
tASU tAH tCSSU tCSH tACC tRDH tRP tCYC
Address set-up Address hold Chip select set-up Chip select hold Data access time, from HPI_nRD falling Read data hold, relative to the earlier of HPI_nRD rising or HPI_nCS rising Read pulse width Read cycle time
-1 -1 -1 -1 1 0 2 6 7
ns ns ns ns T[16] ns T[16] T[16]
Document #: 38-08015 Rev. *E
Page 112 of 119
CY7C67300
14.8 IDE Timing
The IDE interface supports PIO mode 0-4 as specified in the Information Technology-AT Attachment-4 with Packet Interface Extension (ATA/ATAPI-4) Specification, T13/1153D Rev 18.
14.9
qt_clk CPU_A[2:0]
HSS BYTE Mode Transmit
CPU may start another BYTE transmit right after TxRdy goes high
CPUHSS_cs CPU_wr TxRdy flag HSS_TxD
start bit bit 0 bit 1 bit 2 bit 3 bit 4 bit 5 bit 6 BT BT
bit 7
stop bit
start bit
Byte transmit triggered by a CPU write to the HSS_TxData register
TxRdy low to start bit delay: 0 min, BT max when starting from IDEL. For back to back transmit, new START Bit begins immediately following previous STOP bit. (BT = bit period)
start of last data bit to TxRdy high: 0 min, 4 T max. (T is qt_clk period)
programmable 1 or 2 stop bits. 1 stop bit shown.
qt_clk, CPU_A, CPUHSS_cs, CPU_wr are internal signals, included in the diagram to illustrate relationship between CPU operations and HSS port operations. Bit 0 is LSB of data byte. Data bits are HIGH true: HSS_TxD HIGH = data bit value `1'. BT = bit time = 1/baud rate.
14.10
HSS Block Mode Transmit
BT HSS_TxD
t
GAP
BLOCK mode transmit timing is similar to BYTE mode, except the STOP bit time is controlled by the HSS_GAP value. The BLOCK mode STOP bit time, tGAP = (HSS_GAP - 9) BT, where BT is the bit time, and HSS_GAP is the content of the HSS Transmit Gap Register 90xC074]. The default tGAP is 2 BT. BT = bit time = 1/baud rate.
14.11
HSS BYTE and BLOCK Mode Receive
BT +/- 5% BT +/- 5% received byte added to receive FIFO during the final data bit time
HSS_RxD
start bit
bit 0
bit 1
bit 2
bit 3
bit 4
bit 5
bit 6
bit 7
stop bit
start bit
10 BT +/- 5%
Receive data arrives asynchronously relative to the internal clock. Incoming data bit rate may deviate from the programmed baud rate clock by as much as 5% (with HSS_RATE value of 23 or higher). BYTE mode received bytes are buffered in a FIFO. The FIFO not empty condition becomes the RxRdy flag. BLOCK mode received bytes are written directly to the memory system. Bit 0 is LSB of data byte. Data bits are HIGH true: HSS_RxD HIGH = data bit value `1'. BT = bit time = 1/baud rate.
Document #: 38-08015 Rev. *E
Page 113 of 119
CY7C67300
14.12 Hardware CTS/RTS Handshake
tCTShold tCTSsetup HSS_RTS HSS_CTS HSS_TxD Start of transmission delayed until HSS_CTS goes high Start of transmission not delayed by HSS_CTS tCTSsetup tCTShold
tCTSsetup: HSS_CTS set-up time before HSS_RTS = 1.5T min. tCTShold: HSS_CTS hold time after START bit = 0 ns min. T = 1/48 MHz. When RTS/CTS hardware handshake is enabled, transmission can be help off by deasserting HSS_CTS at least 1.5T before HSS_RTS. Transmission resumes when HSS_CTS returns HIGH. HSS_CTS must remain HIGH until START bit. HSS_RTS is deasserted in the third data bit time. An application may choose to hold HSS_CTS until HSS_RTS is deasserted, which always occurs after the START bit.
15.0
R/W
Registers Summary
Address Register Bit 15 Bit 7 Bit 14 Bit 6 Bit 13 Bit 5 Bit 12 Bit 4 Bit 11 Bit 3 Bit 10 Bit 2 Bit 9 Bit 1 Bit 8 Bit 0 Default High Default Low
Table 15-1. Register Summary
R R
0x0140 0x0142
HPI Breakpoint Interrupt Routing
Address... ...Address VBUS to HPI Enable Resume2 to HPI Enable ID to HPI Enable Resume1 to HPI Enable SOF/EOP2 to SOF/EOP2 to SOF/EOP1 to SOF/EOP1 to Reset2 to HPI HPI Swap 1 HPI Enable CPU Enable HPI Enable CPU Enable Enable Enable Reserved Done2 to HPI Done1 to HPI Reset1 to HPI HPI Swap 0 Enable Enable Enable Enable
0000 0000 0000 0000 0001 0100 0000 0000 xxxx xxxx xxxx xxxx xxxx xxxx Stall Enable ISO Enable NAK Interrupt Direction Enable Select Enable ARM Enable xxxx xxxx xxxx xxxx xxxx xxxx Count... Overflow Flag NAK Flag Length Setup Exception Flag Flag Sequence Status Underflow Flag Timeout Flag xxxx xxxx xxxx xxxx OUT IN xxxx xxxx Exception Flag Exception Flag Error Flag ACK Flag xxxx xxxx xxxx xxxx xxxx xxxx 0000 0000 Global Interrupt Enable Negative Flag Reserved Overflow Flag Carry Flag Zero Flag 000x xxxx 0000 0001 000x xxxx xxxx xxxx xxxx xxxx UD HSS XD Enable Reserved SPI Enable SPI XD Enable SAS Enable Interrupt 1 Polarity Select CPU Speed Host/Device 2A Wake Enable Host/Device 1B Wake Enable Host/Device 1A Wake Enable OTG Wake Enable Reserved Boost 3V OK Lock Enable HSS Wake Enable Sleep Enable WDT Enable SPI Wake Enable Halt Enable Reset Strobe Mode Select Interrupt 1 Enable Interrupt 0 Polarity Select Interrupt 0 Enable 0000 0000 0000 0000 0000 0000 0000 1111 0000 0000 0000 0000 0000 0000 Timeout Flag Period Select 0000 0000
W R/W
1: 0x0144 SIEXmsg 2: 0x0148 0x02n0 Device n Endpoint n Control
Data... ...Data Reserved IN/OUT Sequence Ignore Enable Select
R/W R.W R/W
0x02n2 0x02n4 0x02n6
Device n Endpoint n Address Device n Endpoint n Count Device n Endpoint n Status
Address... ...Address Reserved ...Count Reserved Stall Flag
R/W R
0x02n8 0xC000
Device n Endpoint n Count Result Result... ...Result CPU Flags Reserved... ...Reserved
R/W R R/W
0xC002 0xC004 0xC006
Bank Hardware Revision GPIO Control
Address... ...Address Revision... ...Revision Write Protect Enable HSS Enable
R/W R/W
0xC008 0xC00A
CPU Speed Power Control
Reserved... .Reserved Host/Device 2B Wake Enable
HPI Reserved Wake Enable R/W 0xC00C Watchdog Timer Reserved... ...Reserved
GPI Reserved Wake Enable
Document #: 38-08015 Rev. *E
Page 114 of 119
CY7C67300
Table 15-1. Register Summary (continued)
R/W Address Register Bit 15 Bit 7 Bit 14 Bit 6 Bit 13 Bit 5 Bit 12 Bit 4 Bit 11 Bit 3 Bit 10 Bit 2 Bit 9 Bit 1 Bit 8 Bit 0 Default High Default Low
R/W
0xC00E
Interrupt Enable
Reserved HSS Interrupt Enable In Mailbox Interrupt Enable Out Mailbox Interrupt Enable VBUS Pullup Enable D- Pulldown Enable Reserved
OTG Interrupt SPI Interrupt Reserved Enable Enable Reserved Receive Disable UART Interrupt Enable GPIO Interrupt Enable
Host/Device 2 Host/Device 1 0000 0000 Interrupt Interrupt Enable Enable Timer 1 Interrupt Enable D+ Pullup Enable ID Status Timer 0 Interrupt Enable DPullup Enable VBUS Valid Flag 0001 0000 0000 0000 0000 0xxx 1111 1111 1111 1111 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 xxxx xxxx
R/W
0xC098
OTG Control
Reserved D+ Pulldown Enable
Charge Pump VBUS Enable Discharge Enable OTG Data Status
R/W R/W R/W R/W R R/W R/W
0: 0xC010 Timer n 1: 0xC012 0xC014 Breakpoint
Count... ...Count Address... ...Address Address... ...Address Data... ...Data Data... ...Data Direction Select... ...Direction Select Reserved Reserved Upper Address Enable Reserved
1: 0xC018 Extended Page n Map 2: 0xC01A 0: 0xC01E GPIO n Output Data 1: 0xC024 0: 0xC020 GPIO n Input Data 1: 0xC026 0: 0xC022 GPIO n Direction 1: 0xC028 0xC038 Upper Address Enable
xxxx 0xxx xxxx xxxx xxxx xxxx 0000 0000
R/W
0xC03A
External Memory Control
Reserved XROM Width Select XROM Wait Select Port 2A Diagnostic Enable Pulldown Enable
XRAM XROM XMEM XMEM Merge Enable Merge Enable Width Select Wait Select XRAM XRAM Width Select Wait Select Port 1B Diagnostic Enable LS Pullup Enable Port 1A Diagnostic Enable FS Pullup Enable Reserved... Reserved Force Select Memory Arbitration Select Monitor Enable Reserved Mode Select
R/W
0xC03C
USB Diagnostic
Port 2B Diagnostic Enable ...Reserved
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
W
0xC03E
Memory Diagnostic
Reserved Reserved
R/W R/W R/W R/W
0xC048 0xC04A 0xC04C 0xC04E
IDE Mode IDE Start Address IDE Stop Address IDE Control
Reserved... ...Reserved Address... ... Address Address... ...Address Reserved... ...Reserved Direction Select IDE Interrupt Enable Done Flag IDE Enable
0000 0000
R/W
0xC0500xC06E 0xC070
IDE PIO Port HSS Control HSS Enable RTS Polarity Select CTS Polarity Select XOFF Transmit Ready HSS Baud... XOFF Enable CTS Enable Receive Interrupt Enable Done Interrupt Enable 0000 0000 0000 0000 0000 0000 0001 0111 0000 0000 0000 1001 xxxx xxxx xxxx xxxx 0000 0000 0000 0000 Counter... 0000 0000 0000 0000 0000 0000 0000 0000 Counter... 0000 0000 0000 0000 0000 0000 Sequence Select Sync Enable ISO Enable Reserved Arm Enable 0000 0000
Transmit Done Receive Done One Interrupt Flag Interrupt Flag Stop Bit R/W R/W R/W R/W R/W R/W R/W R/W 0xC072 0xC074 0xC076 0xC078 0xC07A 0xC07C 0xC07E 0xC080 0xC0A0 HSS Baud Rate HSS Transmit Gap HSS Data HSS Receive Address HSS Receive Counter HSS Transmit Address HSS Transmit Counter Host n Control Reserved ...Baud Reserved Transmit Gap Select Reserved Data Address... ...Address Reserved ...Counter Address.. ...Address Reserved ...Counter Reserved Preamble Enable
Packet Mode Receive Receive Pack- Receive Select Overflow Flag et Ready Flag Ready Flag
Document #: 38-08015 Rev. *E
Page 115 of 119
CY7C67300
Table 15-1. Register Summary (continued)
R/W Address Register Bit 15 Bit 7 Bit 14 Bit 6 Bit 13 Bit 5 Bit 12 Bit 4 Bit 11 Bit 3 Bit 10 Bit 2 Bit 9 Bit 1 Bit 8 Bit 0 Default High Default Low
R/W R/W R/W R
0xC082 0xC0A2 0xC084 0xC0A4 0xC084 0xC0A4 0xC086 0xC0A6
Host n Address Host n Count Device n Port Select Host n PID
Address... ...Address Reserved ...Count Reserved ...Reserved Reserved Stall Flag NAK Flag Length Reserved Exception Flag Overflow Flag Sequence Status Underflow Flag Timeout Flag Reserved Error Flag ACK Flag Port Select Reserved... Port Select Reserved Count...
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 Endpoint Select 0000 0000 0000 0000 0000 0000 0000 0000 Address Port B D- Status Port B Force D+/State ID Interrupt Enable Reserved Port A Connect Change Interrupt Enable Reserved Port A D+ Status Port A D- Status Port A Force D+/State LOB LOA Suspend Enable Mode Select Port B SOF/EOP Enable SOF/EOP Interrupt Enable Port B Resistors Enable Port A SOF/EOP Enable Reserved Done Interrupt Enable Reserved SOF/EOP Interrupt Enable EP1 Interrupt Enable Reset Interrupt Enable EP0 Interrupt Enable 0000 0000 xxxx 0000 0000 0000 0000 0000 0000 0000
W R W R/W
0xC086 0xC0A4 0xC088 0xC0A8 0xC088 0xC0A8 0xC08A 0xC0AA
Host n EP Status Host n Count Result Host n Device Address USB n Control
Reserved PID Select Result... ...Result Reserved... ...Reserved Port B D+ Status Port A Resistors Enable
R/W
0xC08C
Host 1 Interrupt Enable
VBUS Interrupt Enable
Port A Port B Connect Port B Wake Interrupt Wake Interrupt Change Enable Interrupt EnEnable able R/W 0xC08C Device 1 Interrupt Enable VBUS Interrupt Enable EP7 Interrupt Enable R/W R/W 0xC08E 0xC0AE 0xC090 Device n Address Host 1 Status Reserved... ...Reserved Address VBUS ID Reserved Interrupt Flag Interrupt Flag ID Interrupt Enable EP6 Interrupt Enable Reserved
SOF/EOP Timeout Interrupt Enable EP4 Interrupt Enable EP3 Interrupt Enable
0000 0000
EP5 Interrupt Enable
EP2 Interrupt Enable
0000 0000 0000 0000 0000 0000
SOF/EOP Reserved Interrupt Flag Port A SE0 Status Reserved Done Interrupt Flag
xxxx xxxx xxxx xxxx
Port B Port B Connect Port A ConPort B Port A nect Change SE0 Wake Interrupt Wake Interrupt Change Interrupt Flag Interrupt Flag Status Flag Flag R/W 0xC090 Device 1 Status VBUS ID Reserved Interrupt Flag Interrupt Flag
SOF/EOP Reset xxxx xxxx Interrupt Flag Interrupt Flag
EP7 EP6 EP5 EP4 EP3 EP2 EP1 EP0 xxxx xxxx Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag R/W R 0xC092 0xC0B2 0xC092 0xC0B2 Host n SOF/EOP Count Device n Frame Number Reserved ...Count SOF/EOP Timeout Flag ...Frame R W R R/W 0xC094 0xC0B4 0xC094 0xC0B4 0xC096 0xC0B6 0xC0AC Host n SOF/EOP Counter Device n SOF/EOP Count Host n Frame Host 2 Interrupt Enable Reserved ...Counter Reserved ...Count Reserved ...Frame Reserved Port B Port A Port B Connect Wake Interrupt Wake Interrupt Change Enable Enable Interrupt Enable R/W 0xC0AC Device 2 Interrupt Enable Reserved Port A Connect Change Interrupt Enable Reserved SOF/EOP Interrupt Enable Reserved Done Interrupt Enable Wake Interrupt Enable EP2 Interrupt Enable SOF/EOP Interrupt Enable EP1 Interrupt Enable Reset Interrupt Enable EP0 Interrupt Enable Frame... Count... Counter... SOF/EOP Timeout Interrupt Count Reserved Frame... Count... 0010 1110 1110 0000 0000 0000 0000 0000 xxxx xxxx xxxx xxxx 0010 1110 1110 0000 0000 0000 0000 0000 0000 0000 0000 0000
SOF/EOP Timeout Interrupt Enable EP6 Interrupt Enable EP5 Interrupt Enable EP4 Interrupt Enable EP3 Interrupt Enable
0000 0000
EP7 Interrupt Enable
0000 0000
Document #: 38-08015 Rev. *E
Page 116 of 119
CY7C67300
Table 15-1. Register Summary (continued)
R/W Address Register Bit 15 Bit 7 Bit 14 Bit 6 Bit 13 Bit 5 Bit 12 Bit 4 Bit 11 Bit 3 Bit 10 Bit 2 Bit 9 Bit 1 Bit 8 Bit 0 Default High Default Low
R/W
0xC0B0
Host 2 Status
Reserved Port B Port A Port B Wake Interrupt Wake Interrupt Connect Flag Flag Change Interrupt Flag Port A Port B Connect SE0 Change Status Interrupt Flag SOF/EOP Timeout Interrupt Enable Port A SE0 Status Wake Interrupt Flag
SOF/EOP Interrupt Flag Reserved
Reserved Done Interrupt Flag Reset Interrupt Flag
xxxx xxxx xxxx xxxx
R/W
0xC0B0
Device 2 Status
Reserved
SOF/EOP Interrupt Flag
xxxx xxxx
EP7 EP6 EP5 EP4 EP3 EP2 EP1 EP0 xxxx xxxx Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag R/W R/W 0xC0C6 0xC0C8 HPI Mailbox SPI Configuration Message... ...Message 3Wire Enable Phase Select SCK Scale Select Polarity Select SS Enable Byte Mode SS Delay Select FullDuplex SS Manual Read Enable Transmit Ready receive Data Ready Reserved 0000 0000 0000 0000 1000 0000 0001 1111 0000 0001 1000 0000 0000 0000 Receive Inter- Transmit Inter- Transfer Inter- 0000 0000 rupt Enable rupt Enable rupt Enable 0000 0000 Reserved Receive Transmit Transfer 0000 0000 Interrupt Flag Interrupt Flag Interrupt Flag 0000 0000 Transmit Transmit 0000 0000 Interrupt Clear Interrupt Clear CRC Enable CRC Clear Receive CRC One in CRC Zero in CRC Reserved... 0000 0000 0000 0000 1111 1111 1111 1111 xxxx xxxx xxxx xxxx 0000 0000 0000 0000 Count... 0000 0000 0000 0000 0000 0000 0000 0000 Count... 0000 0000 0000 0000 0000 0000 Scale Select Baud Select Receive Full UART Enable 0000 0111 0000 0000 Transmit Full 0000 0000 0000 0000 0000 0000 Reserved Prescale Select PWM2 Enable PWM1 Enable Count... Address... Mode Select PWM0 Enable 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Master Master Active Enable Enable R/W 0xC0CA SPI Control SCK Strobe Transmit Empty R/W 0xC0CC SPI Interrupt Enable Reserved... ...Reserved R 0xC0CE SPI Status Reserved... FIFO Error Flag W 0xC0D0 SPI Interrupt Clear Reserved... ...Reserved R/W 0xC0D2 SPI CRC Control CRC Mode ...Reserved R/W R/W R/W R/W R/W R/W R/W R 0xC0D4 0xC0D6 0xC0D8 0xC0DA 0xC0DC 0xC0DE 0xC0E0 0xC0E2 SPI CRC Value SPI Data Port t SPI Transmit Address SPI Transmit Count SPI Receive Address SPI Receive Count UART Control UART Status CRC.. ...CRC Reserved Data Address... ...Address Reserved ...Count Address... ...Address Reserved ...Count Reserved... ...Reserved Reserved... ...Reserved R/W R/W 0xC0E4 0xC0E6 UART Data PWM Control Reserved Data PWM Enable FIFO Init receive Full
Transmit Bit Length
Receive Bit Length
PWM3 PWM2 PWM1 PWM0 PWM3 Polarity Select Polarity Select Polarity Select Polarity Select Enable R/W R/W 0xC0E8 PWM Maximum Count Reserved ...Count 0: PWM n Start 0xC0EA 1: 0xC0EE 2: 0xC0F2 3: 0xC0F6 0: PWM n Stop 0xC0EC 1: 0xC0F0 2: 0xC0F4 3: 0xC0F8 0xC0FA PWM Cycle Count HPI Status Port Reserved ...Address
R/W
Reserved ...Address
Address...
0000 0000 0000 0000
R/W R
Count... ...Count VBUS Flag ID Flag Reserved SOF/EOP2 Flag SIE1msg Reserved Done2 Flag SOF/EOP1 Flag Done1 Flag Reset2 Flag Reset1 Flag Mailbox In Flag Mailbox Out Flag
0000 0000 0000 0000
Resume2 Flag Resume1 Flag SIE2msg
Document #: 38-08015 Rev. *E
Page 117 of 119
CY7C67300
16.0 Ordering Information
Ordering Code Package Type Temperature Range
Table 16-1. Ordering Information
CY7C67300-100AI CY3663
100 TQFP Development Kit
-40 to 85C
17.0
Package Diagrams
100-Pin Thin Plastic Quad Flat Pack (TQFP) A100
51-85048-*B
Purchase of I2C components from Cypress, or one of its sublicensed Associated Companies, conveys a license under the Philips I2C Patent Rights to use these components in an I2C system, provided that the system conforms to the I2C Standard Specification as defined by Philips. EZ-Host is a trademark of Cypress Semiconductor. All product and company names mentioned in this document may be the trademarks of their respective holders.
Document #: 38-08015 Rev. *E
Page 118 of 119
(c) Cypress Semiconductor Corporation, 2003. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress Semiconductor product. Nor does it convey or imply any license under patent or other rights. Cypress Semiconductor does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress Semiconductor products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress Semiconductor against all charges.
CY7C67300
Document History Page
Document Title: CY7C67300 EZ-HostTM Programmable Embedded USB Host/Peripheral Controller Document Number: 38-08015 REV. ECN NO. Issue Date Orig. of Change Description of Change
** *A *B
111872 116989 125262
03/22/02 08/23/02 04/10/03
MUL MUL MUL
New Data Sheet Preliminary Data Sheet Added Memory Map Section and Ordering Information Section Moved Functional Register Map Tables into Register section General Clean-up Added Interface Description Section and Power Savings and Reset Section Added Char Data General Clean-up Corrected font to enable correct symbol display Final Data Sheet Changed Memory Map Section and added CLKSEL to Pin Description Added USB OTG Logo General Clean-up
*C
126210
05/23/03
MUL
*D *E
127335 129395
05/29/03 10/01/03
KKV MUL
Document #: 38-08015 Rev. *E
Page 119 of 119


▲Up To Search▲   

 
Price & Availability of CY7C67300-100AI

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X